Git SSH 免密码配置

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

服务器地址:10.10.10.19git

本机PC:10.10.10.99sql

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

咱们已经有一个专门的git服务器帐户,没有的话能够用root帐户新建(adduser git)服务器

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

服务器端配置工具

通常linux系统上都已经安装了ssh,若是没有安装,自行百度安装fetch

如下步骤用root帐户进行操做:rest

 编辑/etc/ssh/sshd_config文件code

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就不会再让输入服务器密码了

相关文章
相关标签/搜索