3

我的服务器上有 Debian、Fisheye 和 Git。我的 git 存储库由 Fisheye 管理。鱼眼部分没有认证。所有的认证过程都由 git 管理。

我想使用 SSH 身份验证,以便在将更改推送到服务器时不需要提供用户名和密码。我知道如何创建 rsa 密钥,但是在服务器上哪里复制我的公钥?

4

2 回答 2

6

《服务器上的 Git - 设置服务器》一文的关键部分是:

您需要将一些开发人员 SSH 公钥添加到该~/.ssh/authorized_keys用户的文件中。
假设您通过电子邮件收到了一些密钥并将它们保存到临时文件中。同样,公钥看起来像这样:

$ cat /tmp/id_rsa.john.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L
ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k
Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez
Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv
O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq
dAv8JggJICUvax2T9va5 gsg-keypair

(注意:确保键显示在一行中)

您只需将它们附加到您的 authorized_keys 文件中:

$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys

如果您的服务器上没有authorized_keys文件,请创建它,但请确保正确保护它。

server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub

有关具体示例,请参阅“为 Gerrit 和 Hudson 创建 SSH 密钥”。

  • 确保 git 在 ssh 守护程序使用的 PATH 中。
  • 确保您的所有父目录~/.ssh都不可写入组(chmod 755仅)。
于 2012-11-17T07:03:18.747 回答
1

您需要将您的公钥粘贴到~/.ssh/authorized_keys. 如果文件不存在,则创建该文件。

于 2012-11-17T05:18:02.917 回答