Git SSH身份验证

Iva*_*lin 3 git ssh public-key-encryption public-key atlassian-fisheye

我的服务器上有Debian,Fisheye和Git.我的git回购由Fisheye管理.Fisheye部分没有认证.所有身份验证过程都由git管理.

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

Von*_*onC 6

文章" Git on 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
Run Code Online (Sandbox Code Playgroud)

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

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

$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)

如果您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
Run Code Online (Sandbox Code Playgroud)

有关具体示例,请参阅" 为Gerrit和Hudson创建SSH密钥 ".

  • 确保git位于ssh守护程序使用的PATH中.
  • 确保您的所有父目录~/.ssh不能为该组写入(chmod 755仅限).