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

Git SSH连接报错:kex与banner交换失败(Software caused connection abort)

解决SSH连接GitHub出现kex_exchange_identification: read: Software caused connection abort的方案

1. 换用443端口连接GitHub

GitHub支持通过443端口提供SSH服务,多数网络环境下该端口不会被拦截。先执行测试命令:

ssh -p 443 git@github.com -vT

若测试成功,新建或修改本地~/.ssh/config文件,添加以下配置:

Host github.com
  Hostname ssh.github.com
  Port 443

2. 排查防火墙/安全软件拦截

重装系统后,系统防火墙或第三方安全软件可能默认拦截SSH出站请求:

  • 临时关闭Windows防火墙(控制面板→Windows Defender防火墙→启用或关闭Windows Defender防火墙),重新测试连接
  • 检查第三方安全软件的网络拦截规则,允许Git Bash或SSH客户端的网络请求

3. 重置SSH配置并重新生成密钥

系统自带的SSH配置可能存在冲突,按以下步骤重置:

  1. 备份~/.ssh目录下的文件后,删除该目录内所有内容
  2. 重新生成Ed25519类型密钥:
ssh-keygen -t ed25519 -C "你的邮箱地址"
  1. 启动SSH代理并添加密钥:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
  1. 将新生成的公钥重新添加到GitHub账户

4. 清理或配置网络代理

若使用代理,需确保SSH代理配置正确:

  • 查看当前代理环境变量:
echo $http_proxy $https_proxy
  • 无需代理时,清空变量:
unset http_proxy https_proxy
  • 需要代理时,在~/.ssh/config中添加代理规则(以socks5代理为例):
Host github.com
  ProxyCommand nc -x 127.0.0.1:1080 %h %p

5. 降级OpenSSH版本

当前使用的OpenSSH 9.2p1可能存在兼容性问题,尝试降级到8.9p1版本:

  • 下载对应版本的Git for Windows(内置OpenSSH),覆盖安装现有Git
  • 安装完成后重新测试SSH连接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:45:10