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

Git克隆Bitbucket项目时SSH密钥权限拒绝问题求助

解决Git Clone Bitbucket时的Permission denied (publickey)问题

兄弟,你这是踩了个很容易搞混的小坑:你把SSH公钥放到本地的~/.ssh/authorized_keys里完全没用!这个文件是用来授权其他SSH客户端登录你的本地机器的,而Bitbucket需要你把公钥添加到你的Bitbucket账户设置里,这样平台才能识别你的身份。

下面一步步帮你搞定:

1. 先确认SSH密钥对没问题

先看看你生成的密钥对是否存在,执行:

ls ~/.ssh/

如果能看到id_rsa(私钥)和id_rsa.pub(公钥),说明密钥对是好的;如果没有,重新生成一个:

ssh-keygen -t rsa -b 4096 -C "你的Bitbucket绑定邮箱"

一路回车用默认设置就行,要是怕不安全可以设置个密钥密码(记得自己保管好)。

2. 把公钥添加到Bitbucket账户(最关键!)

这步是核心,之前你完全搞反了:

  • 登录Bitbucket,点击右上角的头像 → Settings
  • 左边菜单找SSH keys,点Add key
  • 打开本地的~/.ssh/id_rsa.pub文件,复制里面的全部内容(从ssh-rsa开头一直到末尾的邮箱,别漏也别多复制空格)
  • 把复制的内容粘贴到Bitbucket的Key输入框,给这个密钥起个好记的名字(比如“我的办公电脑”),然后点Add key

3. 测试SSH连接是否正常

添加完密钥后,先验证下能不能连上Bitbucket,执行:

ssh -T git@bitbucket.org

如果看到类似logged in as 你的Bitbucket用户名.的提示,说明连接成功了;要是还报错,继续往下查。

4. 排查本地SSH配置细节

  • 你之前设置的chmod 700 ~/.ssh是对的,但要确保私钥的权限是600:
    chmod 600 ~/.ssh/id_rsa
    
  • 如果你的密钥不是默认的id_rsa(比如生成时指定了其他名字),得建个~/.ssh/config文件来指定对应Bitbucket的密钥:
    创建并编辑文件:
    nano ~/.ssh/config
    
    粘贴以下内容(把你的密钥文件名换成你实际的密钥名):
    Host bitbucket.org
      IdentityFile ~/.ssh/你的密钥文件名
      IdentitiesOnly yes
    
    保存后给这个文件设置权限:
    chmod 600 ~/.ssh/config
    

5. 重新执行Git Clone

现在再运行你的git clone命令,应该就能顺利克隆了。如果还是不行,检查下你用的clone URL是不是SSH格式的——得是git@bitbucket.org:你的用户名/项目名.git,而不是HTTPS开头的那种。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:56:43