環境
centos 7
jenkins 2.219
原因
Jenkins創建了一個jenkins用戶,並作為service以這個用戶來運行。所以無論是root還是當前用戶的ssh key都是不生效的。
解決
從原因可知,方案有兩種。一種是修改jenkins運行時的用戶,這是百度出來的答案。需要注意的是,當前版本,JENKINS_USER這個變量是在/etc/default/jenkins這里改的。
另一種就是為jenkins這個用戶再生成ssh key,然后設置到git系統。方法如下:
su root cd /var/lib/jenkins/.ssh ssh-keygen -t rsa -C your-email@sample.com # 注意下一步提示保存位置的時候,要再輸入 /var/lib/jenkins/.ssh/id_rsa # Enter file in which to save the key (/root/.ssh/id_rsa): /var/lib/jenkins/.ssh/id_rsa chown jenkins:jenkins id_rsa id_rsa.pub cat id_rsa.pub
再把這個新的key添加到git系統就可以了。當然,也可以copy當前用戶的key過去/var/lib/jenkins/.ssh/就好了,必須記得設置文件的owner為jenkins。
最后要記得把私鑰也更新到jenkins的全局憑據中,記得一定是私鑰
————————————————
版權聲明:本文為CSDN博主「hursing」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/hursing/article/details/90521031