git or gitlab需要密碼的問題

  • 前言:

不管是服務器的git 或者 是服務器的gitlab,如果配置好git密鑰之後,理應不需要輸入密碼的。

1、git 問題:設置 git 密鑰 後,扔提示需要密碼

shileideMacBook-Pro:test stone$ git pull
git@git.xxx.cn's password: 
……

解決:
(1)基本來看,檢查本地私鑰是否與服務器公鑰一致:git默認加載~/.ssh/id_rsa 文件,如要修改,運行 ssh-add [私鑰路徑]; 或者自定義密鑰文件路徑( => 配置在 ~/.ssh/config)
(2)服務器倉庫的.ssh文件夾與裏面的文件權限錯誤(可能有人手賤,改成了777),還原如下權限:

chmod 700 ~/.ssh
chmod 400 ~/.ssh/rsa_id
chmod 644 ~/.ssh/rsa_id.pub

2、項目託管在 gitlab上, 用本地git與服務器上的gitlab對接時,出現 需要密碼
(1) 排查:服務器上查看安全日誌 tac /var/log/secure

Apr 26 14:14:07 xxx sshd[8953]: pam_unix(sshd:session): session closed for user root
Apr 26 14:15:32 xxx sshd[21566]: Authentication refused: bad ownership or modes for directory /var/opt/gitlab
Apr 26 14:15:34 xxx sshd[21566]: Connection closed by xxx port 36963 [preauth]

(2)解決:根據錯誤瞭解到,/var/opt/gitlab 的目錄權限錯誤,一查,原來是 777 的權限,改成755就好了

chmod -R 755 /var/opt/gitlab

記得最後重啓一下gitlab, gitlab-ctl restart,以防502的錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章