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

添加公钥后Bitbucket仓库Git Clone访问被拒,求自定义密钥配置

解决Bitbucket SSH访问时使用自定义密钥的问题

当然可以覆盖默认的密钥命名规则,用自定义命名的SSH密钥访问Bitbucket。从你的debug日志能看到,SSH默认会依次尝试id_rsa、id_dsa这些默认命名的密钥,而你的自定义密钥不在这个列表里,所以需要明确告诉SSH要使用哪一个密钥。下面给你两种实用的解决方法:

方法一:临时指定密钥(单次使用)

每次执行SSH或Git操作时,通过-i参数直接指定你的自定义私钥路径:

  • 测试SSH连接:
    ssh -i /path/to/your/custom/private/key -v bitbucket.org
    
  • 克隆仓库时指定密钥:
    git clone git@bitbucket.org:your-username/your-repo.git --config core.sshCommand="ssh -i /path/to/your/custom/private/key"
    
  • 如果已经克隆了仓库,想后续操作都用这个密钥,给仓库单独配置SSH命令:
    git config core.sshCommand "ssh -i /path/to/your/custom/private/key"
    

方法二:配置SSH config文件(持久化方案)

这种方法一劳永逸,以后不用每次都输入密钥路径,直接通过自定义主机名访问即可:

  1. 打开(或创建)SSH配置文件:
    nano ~/.ssh/config
    
  2. 添加以下配置内容(替换成你的实际密钥路径和账号信息):
    Host bitbucket-myaccount
        HostName bitbucket.org
        User git
        IdentityFile /path/to/your/custom/private/key
        IdentitiesOnly yes
    
    • Host:自定义的主机别名,比如用你的账号名命名,方便区分不同账号的密钥
    • IdentitiesOnly yes:强制SSH只使用你指定的IdentityFile,不会去尝试其他默认密钥(完美解决你当前和另一个账号的id_rsa冲突问题)
  3. 保存并退出编辑器(nano按Ctrl+O回车,再Ctrl+X)
  4. 测试连接:
    ssh bitbucket-myaccount
    
  5. 克隆仓库时直接用自定义主机名:
    git clone bitbucket-myaccount:your-username/your-repo.git
    

关键注意事项

  • 确保自定义私钥的权限正确:SSH要求私钥必须是仅当前用户可读可写,执行命令修改权限:
    chmod 600 /path/to/your/custom/private/key
    
  • 再次确认对应的公钥已经完整添加到你的Bitbucket账号SSH密钥列表中(注意不要有多余的空格或换行)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:56:06