Bitbucket SSH连接报错及Jenkins集成配置问题求助
解决Jenkins与私有Bitbucket仓库的SSH集成问题
我之前也碰到过类似的私有Bitbucket+Jenkins集成的SSH认证坑,结合你的情况,给你整理了可行的解决步骤:
步骤1:生成无密码短语的自定义SSH密钥
打开终端执行以下命令,生成一个不带密码短语的密钥对(Jenkins自动拉取代码时没法输入密码短语,这是核心问题):
ssh-keygen -t ed25519 -f ~/.ssh/my-new-ssh-key -N ""
-t ed25519:用更安全的Ed25519算法生成密钥-f:指定密钥文件的存储路径和名称-N "":设置空密码短语,确保Jenkins能自动调用该密钥
步骤2:将公钥添加到你的Bitbucket账户
执行命令复制公钥内容到剪贴板:
xclip -selection clipboard < ~/.ssh/my-new-ssh-key.pub
然后登录公司Bitbucket账户,进入你提到的https://bitbucket.companyName.com/plugins/servlet/ssh/account/keys页面,粘贴公钥并保存即可。
步骤3:在Jenkins中配置SSH凭证
- 复制私钥内容到剪贴板:
xclip -selection clipboard < ~/.ssh/my-new-ssh-key
- 登录Jenkins,进入「凭证管理」页面,创建SSH username with private key类型的凭证:
- 用户名填
git - 私钥选择「直接输入」,粘贴刚才复制的私钥内容
- 给凭证起个辨识度高的名称,比如
Bitbucket-WA-Automation-SSH
- 用户名填
额外说明
你碰到的shell request failed on channel 0是正常现象——私有Bitbucket服务器的SSH端口只用于Git操作,不提供shell登录权限,只要能正常克隆/推送代码,就说明认证没问题。之前带密码短语的密钥失效,就是因为Jenkins自动构建时没法交互式输入密码短语,必须用无密码的密钥对。
内容的提问来源于stack exchange,提问作者vikramvi
相关产品推荐
相关产品推荐

