BitBucket仓库无法使用自定义命名SSH密钥提示权限错误如何解决
自定义命名SSH密钥对接BitBucket的配置方案
你可以根据使用场景选择以下两种方案之一配置:
方案1:全局配置所有BitBucket访问使用指定密钥(推荐)
该配置一劳永逸,所有访问BitBucket服务的SSH请求都会自动使用你生成的自定义密钥,不会影响其他SSH服务的默认密钥使用。
- 编辑SSH客户端配置文件,若文件不存在则直接新建:
vim ~/.ssh/config
- 添加以下配置块:
Host bitbucket.org HostName bitbucket.org User git IdentityFile ~/.ssh/id_bitbucket_rsa IdentitiesOnly yes
- 修正配置文件权限,避免SSH因权限过高拒绝读取:
chmod 600 ~/.ssh/config
配置完成后,在任意目录执行ssh -T git@bitbucket.org均可正常完成认证。
方案2:仅针对当前BitBucket仓库配置
如果你不想全局修改SSH配置,仅需要当前仓库使用自定义密钥,可以直接修改仓库级Git配置。
- 进入对应BitBucket仓库的本地目录
- 执行配置命令指定当前仓库的SSH认证密钥:
git config core.sshCommand "ssh -i ~/.ssh/id_bitbucket_rsa -o IdentitiesOnly=yes"
该配置仅对当前仓库生效,不会影响其他项目的SSH认证逻辑。
验证方法
配置完成后在仓库目录执行git fetch,会正常弹出自定义密钥的密码输入提示,输入后即可正常完成仓库操作。
补充说明:此前你在Home目录测试认证成功、进入仓库目录失败的核心原因是ssh-agent为终端会话级生效,若你执行git fetch的终端与之前添加密钥的不是同一个会话,ssh-agent中的密钥就会失效,以上两种方案都无需依赖ssh-agent的临时加载。
内容的提问来源于stack exchange,提问作者CvRChameleon
相关产品推荐
相关产品推荐

