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

Linux下通过SSH免密访问Bitbucket.org遇仓库权限拒绝问题求助

解决Bitbucket SSH免密访问的"repository access denied"问题

我来帮你一步步排查这个困扰你的问题——你已经做了基础配置,但还是遇到权限拒绝,大概率是几个容易忽略的细节出了问题,咱们逐个检查:

1. 先直接测试SSH与Bitbucket的连接

首先跳过Git,直接验证SSH能不能和Bitbucket正常握手,这能帮你快速定位是SSH层的问题还是Git配置的问题。在终端执行:

ssh -T git@bitbucket.org
  • 如果输出类似logged in as <你的Bitbucket用户名>.,说明SSH连接完全正常,问题出在Git的其他配置上;
  • 如果输出错误信息(比如"Permission denied (publickey)"),那咱们就聚焦在SSH密钥的配置上。

2. 检查SSH密钥的权限与路径

你已经把.ssh目录设为700了,但私钥文件的权限要求更严格,必须是600(只有自己能读写),否则SSH会拒绝使用它。执行命令修正权限:

chmod 600 ~/.ssh/id_rsa

如果你用的不是默认的id_rsa密钥(比如自定义了密钥文件名),需要在~/.ssh/config里明确告诉SSH连接Bitbucket时用哪个密钥:

Host bitbucket.org
  IdentityFile ~/.ssh/你的自定义密钥文件名
  User git

保存后再重新测试SSH连接。

3. 确认Bitbucket上的公钥配置

登录你的Bitbucket账号,进入「个人设置」→「SSH keys」,检查:

  • 你添加的公钥是不是本地~/.ssh/id_rsa.pub(或对应自定义密钥的.pub文件)里的完整内容——不要漏掉开头的ssh-rsa、中间的密钥字符串,也不要多添换行或空格;
  • 这个公钥是绑定在拥有该仓库访问权限的账号下的:如果仓库是团队所有,要确保你的账号在团队里有读写权限,且公钥是添加在你个人的SSH密钥列表里,不是团队的。

4. 验证Git远程仓库的URL配置

虽然你已经修改了URL,但再确认一遍避免手滑出错:

git remote -v

检查输出里kss1的URL是不是完全正确:git@bitbucket.org:<你的Bitbucket用户名>/kss1,注意这里的<你的Bitbucket用户名>是你Bitbucket账号的用户名(不是邮箱),仓库名称也要和Bitbucket上的完全一致(包括大小写,虽然Bitbucket不严格区分,但Git本地可能会有识别问题)。

5. 清除SSH缓存并重新加载密钥

有时候SSH会缓存旧的连接信息,导致新配置的密钥不生效,执行以下命令重置:

ssh-add -D  # 清除所有缓存的密钥
ssh-add ~/.ssh/id_rsa  # 重新加载你的私钥

之后再测试SSH连接和Git操作。

6. 考虑升级Git版本

你当前用的Git 2.7.4版本比较老旧(发布于2016年),虽然SSH连接主要依赖OpenSSH,但老版本Git可能在解析SSH配置或远程仓库URL时存在兼容性问题。如果前面的步骤都没用,可以尝试升级Git:

sudo apt update
sudo apt install git

如果Ubuntu默认源里的版本还是比较老,可以添加Git官方PPA来获取最新版本:

sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:02:06