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

Git Bash无法执行git push命令,测试SSH连接提示Shell access disabled求助

解决Git推送Bitbucket提示Unauthorized的问题

ssh测试返回"You can use git to connect to Bitbucket. Shell access is disabled"说明你的SSH密钥已经被Bitbucket识别,核心问题出在仓库权限、远程URL配置或密钥关联细节上,按以下步骤排查:

  • 检查远程仓库URL格式
    执行git remote -v查看当前远程地址,如果是HTTPS开头的链接,会导致用密码认证而非SSH密钥,改成SSH格式即可:

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

    替换成自己的用户名和仓库名后,再尝试推送。

  • 确认SSH公钥已关联到Bitbucket账号
    打开本地~/.ssh/id_rsa.pub文件(如果用了其他密钥文件名就对应修改),复制里面的全部内容。登录Bitbucket进入个人设置的「SSH keys」页面,检查该公钥是否已添加,没有的话粘贴进去保存。

  • 验证账号对目标仓库的推送权限
    进入Bitbucket的目标仓库页面,查看「Permissions」设置,确认你的账号拥有Write权限。没有的话联系仓库管理员分配权限。

  • 多SSH密钥场景下配置专属规则
    如果本地同时用多个平台的SSH密钥(比如GitHub、GitLab),需要在~/.ssh/config文件里添加Bitbucket的专属配置,指定对应的密钥:

    Host bitbucket.org
      HostName bitbucket.org
      User git
      IdentityFile ~/.ssh/你的Bitbucket密钥文件名
    

    保存后重新执行ssh -T git@bitbucket.org确认,再尝试推送。

  • 清除Git的旧凭证缓存
    如果之前用过HTTPS方式推送,Git可能缓存了无效的凭证,执行以下命令清除:

    # Windows Git Bash环境
    git credential-manager uninstall
    # 通用环境
    git config --global --unset credential.helper
    

内容的提问来源于stack exchange,提问作者Aditha Dinuja Serasinghe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 19:16:07