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

Bitbucket SSH密钥对问题:可拉取代码但无法推送

解决方案

1. 修正SSH密钥权限

Linux系统对SSH密钥的权限要求严格,权限过宽会导致认证失败,执行以下命令调整:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

2. 确认SSH连接使用的密钥

执行命令验证当前SSH连接Bitbucket时使用的密钥:

ssh -T git@bitbucket.org

输出内容会显示当前密钥的指纹,对比Bitbucket后台添加的公钥指纹是否一致。若不一致,说明系统未使用你配置的密钥,需手动指定:

  • 新建或编辑~/.ssh/config文件,添加以下内容:
Host bitbucket.org
  IdentityFile ~/.ssh/你的密钥文件名

保存后重新测试SSH连接。

3. 检查仓库远程URL配置

拉取正常不代表远程URL是SSH格式(HTTPS格式拉取无需权限,但推送需要验证),执行命令查看远程URL:

git remote -v

若显示HTTPS开头的地址,执行命令切换为SSH格式:

git remote set-url origin git@bitbucket.org:你的用户名/仓库名.git

4. 验证Bitbucket权限设置

  • 确认添加的公钥是在账户全局设置中,而非仅仓库的部署密钥(部署密钥默认仅拥有只读权限,无法推送)。
  • 检查仓库成员权限:确保你的账户在该仓库中拥有写权限(如开发者、管理员角色)。

5. 清除SSH缓存

SSH可能缓存旧的连接信息,执行命令清除并重新加载密钥:

ssh-add -D
ssh-add ~/.ssh/你的密钥文件名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 20:19:52