git pull 配置免密_ssh/git pull 无密码登录 自动拉取
作者:matrix
被圍觀: 1,705 次
發布時間:2019-05-28
4 條評論 ?
💡NOTICE:這是一個創建于 574 天前的主題,其中的信息可能已經有所發展或是發生改變。
測試需要S,C兩臺服務器,我需要C服務器ssh登錄到S服務器進行操作。
目的:服務器C端使用命令git pull無密碼登錄自動從服務器S拉取最新代碼。
客戶端生成RSA密鑰
服務器C屬于客戶端角色,需要生成本地服務器的rsa密鑰對,然后價格公鑰發送到服務器S。
登錄服務器C
$ cd ~
$ ssh-keygen -t rsa
#后面就默認回車
默認會在 ~/.ssh中生成id_rsa.pub,id_rsa這兩個密鑰對。
發送公鑰
我之前是手動嘗試把公鑰文本打來粘貼到服務器S,然而ssh登錄的話還是要密碼驗證。測試發現最好是使用ssh-copy-id命令進行操作。
還是在服務器C進行操作
$ ssh-copy-id -i ~/.ssh/id_rsa.pub login_user@HOST -p 22
說明:
ssh-copy-id命令可以快速的將公鑰復制到遠程主機
-i 指定公鑰路徑
login_user 為登錄的用戶名
HOST 為登錄的遠程服務器S的地址,域名/IP均可
-p 指定服務器S的ssh端口號
命令輸入后應該會讓你輸入login_user用戶的密碼,若出現and check to make sure that only the key(s) you wanted were added.則表示公鑰應該添加成功。
以免出現問題,現在可以去服務器S端看看,指定用戶名login_user的文件/home/login_user/.ssh/authorized_keys會有客戶端的rsa公鑰。
登錄測試
在服務器C操作
測試登錄:
ssh login_user@HOST -p 22
若登錄成功 BINGO!
其他問題
如出現還是需要密碼的情況:
1.需要確定/etc/ssh/sshd_config配置文件中是否允許RSAAuthentication
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
2.用戶目錄權限問題
.ssh父目錄的權限是755(我的是/root),.ssh目錄權限是700,authorized_keys文件 600
3.確保倉庫地址是ssh地址
如果還是https的話就用git remote set-url origin命令修改下:
$ git remote set-url origin git@HOST:user/project.git
參考:
https://blog.csdn.net/alifrank/article/details/48241699
https://blog.csdn.net/chengyuqiang/article/details/78432675
https://blog.csdn.net/b_x_p/article/details/78534423
https://www.cnblogs.com/0xcafebabe/p/5234678.html
總結
以上是生活随笔為你收集整理的git pull 配置免密_ssh/git pull 无密码登录 自动拉取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js解析url query_js如何解析
- 下一篇: 黑星什么意思_星月菩提黑星海南料什么意思