求助:远程服务器Jenkins Pipeline无法Git Clone项目的解决方法
解决Jenkins拉取GitHub代码权限拒绝问题
1. 确认Jenkins运行身份
先查看Jenkins实际运行的用户:
ps aux | grep jenkins
通常是jenkins用户,后续操作围绕该用户展开。
2. 给jenkins用户配置SSH权限
切换到jenkins用户:
如果直接切换失败,先给jenkins设置登录密码:sudo passwd jenkins再执行切换命令:
sudo su - jenkins配置密钥:
两种方式任选其一:- 给jenkins用户生成新SSH密钥,生成后将公钥上传到GitHub
- 把你终端可用的私钥复制到jenkins用户的.ssh目录:
先退出jenkins用户,执行:sudo cp /你的私钥路径/id_rsa /var/lib/jenkins/.ssh/ sudo chown jenkins:jenkins /var/lib/jenkins/.ssh/id_rsa sudo chmod 600 /var/lib/jenkins/.ssh/id_rsa sudo chmod 700 /var/lib/jenkins/.ssh
测试连接有效性:
切换回jenkins用户,执行:ssh -T git@github.com能返回成功认证提示即说明密钥配置正常。
3. 修正Jenkins凭据配置
在Jenkins凭据管理中找到你配置的SSH Username with private key:
- Username填写
git(GitHub SSH地址固定使用git用户) - 私钥选择
Enter directly并粘贴jenkins用户的私钥内容,或选择From the Jenkins master ~/.ssh(前提是已完成上述密钥配置)
4. 核对仓库地址
确保Jenkins流水线中配置的仓库地址为SSH格式:git@github.com:你的用户名/仓库名.git,不要使用HTTPS地址。
5. 重启Jenkins服务
sudo systemctl restart jenkins
重启后重新触发构建即可。
内容的提问来源于stack exchange,提问作者Haiming
相关产品推荐
相关产品推荐

