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就不會再讓輸入服務器密碼了

相關文章
相關標籤/搜索