我的服务器上有Debian,Fisheye和Git。 我的git回购由Fisheye管理。在鱼眼部分没有认证。所有的认证程序都由git管理。Git SSH身份验证
我想使用SSH身份验证,以便在将更改推送到服务器时不需要提供用户名和密码。我知道如何创建一个rsa密钥,但我在哪里可以在服务器上复制我的公钥?
我的服务器上有Debian,Fisheye和Git。 我的git回购由Fisheye管理。在鱼眼部分没有认证。所有的认证程序都由git管理。Git SSH身份验证
我想使用SSH身份验证,以便在将更改推送到服务器时不需要提供用户名和密码。我知道如何创建一个rsa密钥,但我在哪里可以在服务器上复制我的公钥?
文章的关键部分“Git on the Server - Setting Up the Server”是:
你需要开发者的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
有关具体示例,请参阅“Creating SSH keys for Gerrit and Hudson”。
~/.ssh
的所有父目录都不可写入群组(仅适用于chmod 755
)。你需要将你的公钥粘贴到〜/ .ssh/authorized_keys中。如果该文件不存在,请创建该文件。