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

本地BitBucket仓库git pull失败,SSH密钥类型不匹配求助

问题原因与解决方案

错误原因

本地Git版本更新后,默认禁用了安全性较弱的ssh-rsa主机密钥算法,但你的BitBucket服务器仍在使用该算法作为唯一的主机密钥类型,导致SSH握手时双方无法匹配密钥类型,从而触发连接失败。

你超过6个月未连接仓库的这段时间,本地Git大概率完成了版本升级(Git 8.8p1及后续版本默认不再将ssh-rsa纳入支持的主机密钥算法列表),而服务器端未调整密钥配置,因此之前正常的连接现在出现冲突。

快速解决方案

1. 单个仓库临时适配

进入报错的仓库目录,执行以下命令,让该仓库的Git操作允许使用ssh-rsa算法:

git config core.sshCommand "ssh -o HostKeyAlgorithms=+ssh-rsa"

2. 全局配置(所有仓库生效)

编辑Windows用户目录下的C:\Users\<你的用户名>\.ssh\config文件(若不存在则新建),添加以下内容:

Host 10.0.0.28
    HostKeyAlgorithms +ssh-rsa

这样所有针对该BitBucket服务器的SSH连接都会自动兼容ssh-rsa算法。

3. 服务器端永久修复(若有权限)

登录BitBucket服务器,配置支持更安全的主机密钥类型(如ecdsa-sha2-nistp256、ssh-ed25519),并更新服务器的主机密钥。完成后本地无需做兼容配置,连接会更安全。

关于平台迁移

如果仅存在这个密钥算法问题,无需立刻更换到GitLab等平台,上述方法均可快速解决问题。若BitBucket服务器本身存在维护困难、功能不足等其他问题,再考虑迁移平台即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 09:24:54