CentOS下git push/pull無需輸入密碼

最近由於工做須要,新申請了一臺服務器,配置好git後,發現每次git push和git pull時,都須要輸入密碼,很是麻煩。網上找了不少資料,不是語焉不詳,就是有錯誤。git

通過幾個小時的摸索,終於肯定解決方法以下:bash

環境:
機器A:CentOS 7,登陸用戶名root
機器B:CentOS 7,登陸用戶名QiaoYL服務器

解決問題的核心思路是用SSH,實如今機器A上,使用非當前用戶免密登陸機器B,步驟以下:
一、 在機器A上,執行以下命令,生成密鑰對,後續操做按提示進行便可:
ssh-keygen -t rsassh

二、 生成的密鑰對放在以下目錄:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.ide

三、 用YourName帳號登陸機器B,到/home/YourName目錄下,創建.ssh目錄,使用默認權限便可,不要chmod 777;
四、 回到機器A,執行以下命令,將id_rsa.pub文件中的內容拷貝到機器B上/home/QiaoYL/.ssh/authorized_keys文件裏:
cat ~/.ssh/id_rsa.pub | ssh YourName@YourHost 'cat >> .ssh/authorized_keys'it

五、 執行ssh YourName@YourHost,發現仍是要輸入密碼,退出輸入密碼,按下面步驟操做;io

六、 執行命令:
ssh-agent bash
ssh-add /root/.ssh/id_rsaclass

說明:ssh-agent是用於管理密鑰,ssh-add用於將密鑰加入到ssh-agent中,SSH能夠和ssh-agent通訊獲取密鑰,這樣就不須要用戶手工輸入密碼了。登錄

七、 執行ssh YourName@YourHost,無需輸入密碼,直接登陸,執行git push/git pull,也無需密碼了;配置

相關文章
相關標籤/搜索