You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins无法通过SSH连接Bitbucket,标签推送配置求助

解决Jenkins SSH连接Bitbucket仓库的密钥格式/权限问题

我帮你梳理几个能解决这个问题的关键步骤,都是实际踩坑总结出来的:

1. 先确认Jenkins里的SSH密钥格式完全正确

Jenkins对SSH私钥的格式要求特别严格,必须是纯PEM格式,不能有任何多余内容。很多人复制粘贴密钥时容易丢了首尾的标记行,或者带了多余的注释:

  • 打开你本地的私钥文件(比如id_rsa),确保开头是-----BEGIN RSA PRIVATE KEY-----,结尾是-----END RSA PRIVATE KEY-----,中间的密钥每行长度一致,没有断行或者多余空格。
  • 回到Jenkins全局凭证编辑页面,把私钥重新完整粘贴一遍,包括首尾的标记行,一个字符都不能少,也别多添换行。

2. 检查Jenkins运行用户的权限和临时文件访问

错误里提到的C:\Windows\TEMP\jenkins-gitclient-sshxxxx.key是Jenkins临时生成的密钥文件,大概率是这个文件的权限出问题了:

  • Windows上默认Jenkins是用Local System账户运行的,这个账户对TEMP目录的权限可能有限制。你可以把Jenkins服务的运行账户改成你本地日常使用的账户(就是你IDE里能正常拉推代码的那个账户):
    1. 打开Windows服务管理器,找到Jenkins服务。
    2. 右键选「属性」,切到「登录」标签页。
    3. 选「此账户」,输入你的本地用户名和密码,保存后重启Jenkins服务。

3. 手动测试Jenkins运行环境的SSH连接

在Jenkins所在的机器上,切换到Jenkins运行的用户账户,手动跑一遍Git命令测试:

git ls-remote -h -- git@bitbucket.org:myname/jenproject.git HEAD
  • 如果这个命令也报错,那就是该用户的SSH配置有问题,和Jenkins无关。你需要在这个用户的家目录下(比如C:\Users\[JenkinsUser]\.ssh)创建一个config文件,配置Bitbucket的SSH主机:
    Host bitbucket.org
      HostName bitbucket.org
      User git
      IdentityFile C:\path\to\your\private_key
      IdentitiesOnly yes
    
  • 如果手动命令能成功,那问题肯定出在Jenkins的凭证配置上,回到第一步重新核对密钥格式。

4. 确认Bitbucket的公钥和Jenkins私钥配对

别忽略最基础的检查:Bitbucket账户里添加的公钥,必须和Jenkins里存的私钥是一对的。

  • 本地执行ssh-keygen -y -f /path/to/your/private_key生成对应的公钥,然后去Bitbucket的账户设置里对比,确保公钥完全一致,包括结尾的注释(比如yourname@yourpc)。

5. 试试Jenkins的SSH Agent插件(终极方案)

如果上面的方法都不行,推荐用Jenkins的SSH Agent插件来管理密钥,它比原生的凭证配置更可靠:

  • 先在Jenkins插件市场安装「SSH Agent」插件。
  • 然后修改你的Jenkinsfile,用插件加载SSH凭证:
    pipeline {
        agent any
        stages {
            stage('Checkout Code') {
                steps {
                    sshagent(credentials: ['你的SSH凭证ID']) {
                        git url: 'git@bitbucket.org:myname/jenproject.git', branch: 'main'
                    }
                }
            }
        }
    }
    
    这里的「你的SSH凭证ID」可以在Jenkins凭证详情页找到,就是凭证的唯一标识字符串。

内容的提问来源于stack exchange,提问作者kar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 11:37:42