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

Bitbucket仓库推送失败求助:HTTPS/SSH均返回权限错误

解决Bitbucket SSH Push权限被拒的问题

看起来你已经做了不少基础配置,但还是卡在权限问题上,我来给你几个针对性的排查和解决方向:

1. 确认SSH密钥绑定的账号拥有仓库读写权限

虽然ssh -T username@bitbucket.org提示登录成功,但这个username账号是否被添加为目标仓库的协作成员?

  • 登录Bitbucket,进入main-account/repo仓库的设置页面
  • 找到「Users and groups」选项,检查你的username账号是否在列表中,并且权限设置为「Write」或更高(比如Admin)
  • 如果不在列表里,需要仓库管理员添加你为协作成员并赋予写权限

2. 验证远程仓库地址的准确性

先检查当前本地仓库的远程地址是否正确:

git remote -v

确认输出的origin地址是git@bitbucket.org:main-account/repo.git,注意:

  • 不要写错main-account(团队/主账号名)和repo(仓库名)的拼写
  • 格式是git@bitbucket.org:<账号名>/<仓库名>.git,冒号不能换成斜杠

如果地址有误,重新添加远程仓库:

git remote remove origin
git remote add origin git@bitbucket.org:main-account/repo.git

3. 调试SSH连接,确认密钥使用正确

用 verbose 模式查看SSH连接的详细过程,确认是否用了正确的密钥:

ssh -v git@bitbucket.org

在输出中查找类似以下的内容:

debug1: Offering public key: /Users/xxx/.ssh/id_rsa RSA SHA256:xxx
debug1: Server accepts key: /Users/xxx/.ssh/id_rsa RSA SHA256:xxx

如果看到的密钥不是你绑定到Bitbucket的那个,或者出现权限类错误,可尝试:

  • 检查~/.ssh/config中IdentityFile路径是否正确,确保指向的是你在Bitbucket上添加的公钥对应的私钥
  • 修复密钥文件的权限(权限过宽会被SSH拒绝):
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/id_rsa
    

4. 临时指定密钥执行Push

如果~/.ssh/config的配置没生效,可以直接指定密钥进行推送测试:

GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa' git push origin new_branch

5. 检查仓库分支权限限制

如果以上都没问题,可能是仓库设置了分支保护规则:

  • 进入Bitbucket仓库的「Settings」→「Branch permissions」
  • 确认new_branch所在的分支规则没有限制你的账号推送

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:40:23