Git SSH认证 [英] Git SSH authentication
问题描述
我的服务器上有Debian,Fisheye和Git。
我的git回购由Fisheye管理。在鱼眼部分没有认证。所有身份验证程序都由git管理。
我想使用SSH身份验证,因此我不需要提供用户名和密码,因为我将更改推送到服务器。我知道如何创建一个rsa密钥,但我在哪里复制我的公钥在服务器?
解决方案关键部分文章服务器上的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
)。
I have Debian, Fisheye and Git on my server. My git repos are managed by Fisheye. There is no authentication at the Fisheye part. All authentication procedures are managed by git.
I would like to use SSH authentication, so that I do not need to provide username and password as I push my changes to the server. I know how to create an rsa key, but where do I copy my public key at the server?
The key part of the article "Git on the Server - Setting Up the Server" is:
you need to add some developer SSH public keys to the
~/.ssh/authorized_keys
file for that user.
Let’s assume you’ve received a few keys by e-mail and saved them to temporary files. Again, the public keys look something like this:
$ cat /tmp/id_rsa.john.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L
ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k
Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez
Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv
O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq
dAv8JggJICUvax2T9va5 gsg-keypair
(Note: make sure the key is displayed on one single line)
You just append them to your authorized_keys file:
$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
If you don't have an authorized_keys
file on your server, create it, but make sure to protect it correctly.
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
See "Creating SSH keys for Gerrit and Hudson" for a concrete example.
- Make sure git is in the PATH used by your ssh daemon.
- Make sure all parent directories of your
~/.ssh
are not writable for the group (chmod 755
only).
这篇关于Git SSH认证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!