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

Git Bash 2.33.1版本SSH连接Gerrit出现协商失败问题

结论

该问题不是Git本身启用了限制,是Git for Windows 2.33.1版本内置的OpenSSH 8.8p1默认禁用了基于SHA-1的ssh-rsa、ssh-dss主机密钥签名算法导致的,旧版本Git for Windows 2.32.0内置的OpenSSH版本低于8.8,未禁用上述算法,所以可以正常连接。

临时验证方法

执行以下命令手动指定允许对应算法,验证是否可以正常连接:

ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa -p 29418 user@gerrit.example.com

如果可以正常连接,说明是算法限制导致的问题。

永久配置方案

不建议全局放开算法限制,仅针对Gerrit站点做单独配置即可:

  • 打开Git Bash,编辑当前用户的SSH配置文件:vi ~/.ssh/config
  • 新增以下配置:
Host gerrit.example.com
    Port 29418
    User 替换为你自己的Gerrit用户名
    HostKeyAlgorithms +ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa
  • 保存配置后,后续直接执行ssh gerrit.example.com即可正常连接。

补充建议

该方案为临时兼容方案,ssh-rsa、ssh-dss算法已被官方判定存在安全风险,建议联系Gerrit服务端管理员升级服务端SSH配置,改用更安全的ecdsa、ed25519类型主机密钥,从根源解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:54:03