Git SSH 免密码配置

原创
2016/06/21 18:22
阅读数 419

看git的官方教程,里面没有把如何搭建线下git服务器的SSH的连接说清楚,也许作者认为有些东西是我们理所当然知道的,可是还是有些坑阻挡了我们一些时间。经过折磨,终于把这个弄通了,过程记录如下:

服务器地址:10.10.10.19

本机PC:10.10.10.99

假设我们已经在服务器上建立起了一个空的git仓库目录 /opt/git-repo/project.git 

我们已经有一个专门的git服务器账户,没有的话可以用root账户新建(adduser git)

接下来主要分为服务器端的配置和客户端的配置

服务器端配置

一般linux系统上都已经安装了ssh,如果没有安装,自行百度安装

以下步骤用root账户进行操作:

 编辑/etc/ssh/sshd_config文件

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

放开以上三行的注释

StrictModes no

放开StrictModes yes的注释,同时修改yes为no

配置完成以后,重启ssh服务 

service sshd restart 

 

以下切换为git用户验证一下配置是否有效

生成ssh秘钥对

ssh-keygen -t rsa -P ‘’   

连续按两次回车,不需要输入密码

生成以后,在 ~/.ssh/文件夹下会生成两个文件 id_rsa和id_rsa.pub文件

接下来把本地的公钥认证放入认证文件中,并且赋予600的权限

cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys 
chmod 700 ~/.ssh/

然后使用 ssh git@localhost命令,如果没有让输入密码,则代表成功

客户端配置

客户端配置实际上和服务器的本地配置是一样的,只是在客户端生成秘钥对

打开git shell工具,然后输入 ssh-keygen -t rsa -P ‘’   生成秘钥对

这样在C:\Users\ilove\.ssh下生成同样的两个文件id_rsa和id_rsa.pub,由于我的用户是ilove,所以是这样的,自己在找的时候,请切换到自己的用户目录,更改上id_rsa.pub的名字,为了表示这个文件是我的机器,我把文件名重新命名为了id_rsa_wtf.pub,然后上传到服务器,上传到服务器上以后,然后把这个文件追加到验证文件中去

cat id_rsa_wtf.pub >> authorized_keys

这时候再打开本机的git shell 再运行 git clone或者fetch就不会再让输入服务器密码了

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
5 收藏
0
分享
返回顶部
顶部