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

Jenkins合并分支遇Bitbucket权限问题,求SSH密钥配置方案

解决方案:Jenkins通过SSH密钥访问受限Bitbucket分支

针对你遇到的权限问题,以下是三个问题的具体操作步骤:

1. 在Windows DevOps服务器创建SSH密钥及存放位置

  • 打开Git Bash(未安装Git需先安装),执行命令:
    ssh-keygen -t ed25519 -C "devops@mydomain.com"
    
  • 按回车接受默认密钥存储路径,或手动指定路径(推荐默认路径以减少权限问题)。
  • 默认存储位置:
    • 若Jenkins以本地用户运行,密钥存放在 C:\Users\<Jenkins用户名>\.ssh\,生成id_ed25519(私钥)和id_ed25519.pub(公钥)两个文件。
    • 若Jenkins以**系统账户(SYSTEM)**运行,需先手动创建C:\Windows\System32\config\systemprofile\.ssh\目录,再执行密钥生成命令,密钥会存放在该目录下。
  • 权限设置:右键私钥文件→属性→安全→高级→禁用继承→添加Jenkins运行用户,仅赋予其读取权限,避免其他用户访问。

2. Bitbucket中关联SSH密钥的用户ID

必须使用devops@mydomain.com的Bitbucket账号:

  • 登录该用户的Bitbucket后台,点击右上角头像→Personal settings。
  • 找到SSH keys选项,点击Add key。
  • 将第一步生成的id_ed25519.pub文件内容完整粘贴到Key输入框,填写便于识别的Label(如Jenkins DevOps Server),保存即可。

3. Jenkins中配置SSH密钥

方式一:全局凭据配置(推荐,可复用)

  1. 进入Jenkins管理界面→Manage Jenkins→Manage Credentials。
  2. 左侧导航选择Stores scoped to Jenkins→Jenkins→Global credentials (unrestricted)。
  3. 点击Add Credentials,类型选择SSH Username with private key。
  4. Username填写devops@mydomain.com,Private key选Enter directly并粘贴私钥(id_ed25519文件内容),或选From file指定私钥路径。
  5. 填写ID和描述便于识别,点击OK保存。

方式二:在Freestyle任务中配置

  1. 打开你的Freestyle任务配置页,找到Source Code Management→Git。
  2. 将仓库URL改为Bitbucket的SSH地址(如git@bitbucket.org:your-team/your-repo.git,不要用HTTPS地址)。
  3. 在Credentials下拉框中选择刚才创建的全局凭据。
  4. 确保批处理脚本中的Git操作基于SSH地址,避免混用HTTPS。

验证连接

在Jenkins服务器上切换到Jenkins运行用户,执行命令:

ssh -T git@bitbucket.org

若返回logged in as devops@mydomain.com,说明SSH连接配置成功。

内容的提问来源于stack exchange,提问作者Pratik V Shah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 03:22:15