Jfrog Pipeline使用GitRepo资源推送代码至SCM时遇权限拒绝问题
解决GitRepo Pipeline推送Bitbucket仓库时的公钥权限拒绝问题
检查SSH密钥的绑定状态
确认Pipeline使用的私钥对应的公钥,已经添加到目标Bitbucket仓库的部署密钥(仓库级权限),或者拥有管理员权限的用户账号的SSH密钥列表(账号级权限)里。注意复制公钥时别带多余空格、换行,也不要遗漏末尾的邮箱标识,格式错误会导致密钥不生效。验证密钥的可用性
在Pipeline运行的构建节点上,手动执行ssh -T git@git.jfrog.info测试SSH连接。如果依然报错:- 检查私钥文件权限是否为
600(执行chmod 600 <私钥文件路径>),权限过宽会被Git拒绝使用。 - 确认私钥未设置密码加密,否则Pipeline环境没有解密密码的话,无法自动加载密钥。
- 检查私钥文件权限是否为
核对仓库远程地址
检查Pipeline配置的Git远程地址是否完整,正确格式应为git@git.jfrog.info:<用户名>/<仓库名>.git,遗漏仓库路径会触发“仓库不存在”的误报。区分Webhook与推送权限
Webhook仅用于触发Pipeline执行,和推送仓库的权限无关。别把Webhook配置当成推送凭证,推送依赖的是SSH密钥或HTTPS凭证。如果改用HTTPS方式,要配置Bitbucket个人访问令牌(PAT)而非账号密码(Bitbucket已逐步禁用密码登录Git操作)。排查SSH代理配置
如果Pipeline环境启用了SSH代理,执行ssh-add -l查看已加载的密钥指纹,确认和Bitbucket中配置的公钥指纹一致,确保代理加载了正确的私钥。
内容的提问来源于stack exchange,提问作者Nitin Dagdi
相关产品推荐
相关产品推荐

