解決Jenkins連接git時報錯Permission denied (publickey)

環境

Ubuntu 18.04 LTS
Jenkins 2.164.3。通過apt install jenkins安裝的。

原因

通過apt安裝的結果是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 [email protected]
# 注意下一步提示保存位置的時候,要再輸入
/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

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