- 前言:
不管是服務器的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的錯誤。