Jenkins連接Git倉庫時候報錯Permission denied, please try again.


一、連接GIT倉庫報錯

Failed to connect to repository : Command "git ls-remote -h git@192.168.5.71:/home/git/www.git HEAD" returned status code 128:
stdout:
stderr: Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

 

 二、問題原因

我是通過yum安裝的Jenkins,安裝過程中創建了jenkins用戶,並作為service以這個用戶來運行。所以無論是root還是當前用戶的ssh key都是不生效的。

# ps aux | grep jenkins
jenkins   2528 13.4 15.2 3665292 591388 ?      Ssl  Nov18 155:31 /etc/alternatives/java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20

三、解決方法

最簡單的方法是把服務用戶由jenkins修改為root

# sed -n '29p' /etc/sysconfig/jenkins 
JENKINS_USER="root"
# systemctl restart jenkins.service 
# ps aux | grep jenkins
root     19132  169  5.8 3563124 225760 ?      Ssl  09:59   0:06 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20

另一種就是為jenkins這個用戶再生成ssh key,然后設置到git系統


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM