Git SSH认证 [英] Git SSH authentication

查看:238
本文介绍了Git SSH认证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的服务器上有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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆