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

Docker中Jenkins访问BitBucket仓库的权限问题求助

Docker中Jenkins访问BitBucket仓库失败问题

场景

  • Jenkins部署在需特定VPN访问的远程AWS机器的Docker容器中
  • 使用SSH密钥认证的普通BitBucket账号访问仓库

操作步骤

  1. 通过Linux ssh keygen命令生成密钥对,将公钥添加至BitBucket仓库的安全设置中
  2. 登录Jenkins创建Freestyle任务,进入源码管理配置选择Git,填写仓库地址git@bitbucket.org:my_company/my_repo.git
  3. 添加Jenkins凭据:类型选择「SSH Username with private key」,填写账号用户名并直接输入私钥内容
  4. 选择该凭据后触发仓库连接错误

报错信息

连接仓库失败:命令 "git ls-remote -h -- git@bitbucket.org:cryptoblock/cblock1.git HEAD" 返回状态码128:
标准输出:
标准错误:bitbucket.org的RSA主机密钥未知,且你要求严格检查。
主机密钥验证失败。
致命错误:无法从远程仓库读取内容。

请确保你拥有正确的访问权限,且仓库存在。

已尝试的方法

  • 多次重新生成SSH密钥对
  • 在Docker宿主机、容器内/root/.ssh、Jenkins用户~/.ssh目录放置私钥
  • 尝试执行ssh-keyscan -H bitbucket.org >> ~/.ssh/known_hosts,但提示bash: /var/jenkins_home/.ssh/known_hosts: Permission denied,修改sudoers后用sudo执行仍无效
  • 仅支持SSH访问,无法改用HTTPS方式

可正常操作的情况

  • Docker宿主机使用相同SSH密钥可正常git clone该仓库
  • 本地机器也可正常访问该仓库

解决方案

方法1:容器内以Jenkins用户配置known_hosts

  1. 进入Jenkins容器:docker exec -it <你的Jenkins容器名> bash
  2. 切换至jenkins用户:su jenkins(必须切换,Jenkins服务默认用该用户运行)
  3. 若不存在.ssh目录则创建并设置权限:mkdir -p ~/.ssh && chmod 700 ~/.ssh
  4. 添加bitbucket.org的主机密钥到known_hosts:ssh-keyscan -H bitbucket.org >> ~/.ssh/known_hosts
  5. 设置known_hosts文件权限:chmod 600 ~/.ssh/known_hosts

方法2:通过Jenkins全局配置添加主机密钥

  1. 登录Jenkins后台,进入「Manage Jenkins」→「Configure System」
  2. 找到「Git plugin」板块下的「Git Host Key Verification Configuration」
  3. 选择「Manually provided keys」,点击「Add Host Key」
  4. 主机名填写bitbucket.org,密钥内容可从宿主机~/.ssh/known_hosts复制,或执行ssh-keyscan -H bitbucket.org获取
  5. 保存配置后重新测试仓库连接

方法3:挂载宿主机known_hosts到容器

利用宿主机已有的可用known_hosts,挂载到Jenkins容器的对应目录:

  • 修改Docker启动命令或docker-compose.yml,添加挂载项:
    -v /宿主机用户目录/.ssh/known_hosts:/var/jenkins_home/.ssh/known_hosts
  • 进入容器执行命令确保权限正确:chown jenkins:jenkins /var/jenkins_home/.ssh/known_hosts

核心注意事项

  • 所有与SSH相关的文件(.ssh目录、私钥、known_hosts)必须归jenkins用户所有,权限严格设置为目录700、文件600,否则Jenkins服务无法读取
  • 禁止用root用户操作后直接给jenkins用户,必须确保操作全程以jenkins用户执行或正确修改权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 13:35:17