当前位置: 首页 > news >正文

Git Bash 下使用 SSH 连接出现 “Software caused connection abort” 问题

目录

  • 一、检查网络环境和防火墙设置(失败)
  • 二、尝试使用 GitHub 的备用 SSH 端口 443(成功)
  • 三、检查 SSH Key 是否被正确加载
  • 四、检查是否多个 SSH 进程干扰或者服务异常
  • 五、使用 HTTPS 方式临时解决(非 SSH)
  • 六、参考官方文档和排查日志
  • 七、总结
  • 八、其他尝试过的方法(失败)
    • 1. DNS 解析问题
    • 2. 关闭防火墙以及代理
    • 3. 更新 Git Bash


【问题】:在 Git Bash 上输入 ssh -T git@github.com 出现下图所示错误。

kex_exchange_identification: read: Software caused connection abort
banner exchange: Connection to 20.205.243.166 port 22: Software caused connection abort

【分析】:

这个错误,通常是 SSH 连接被远程服务器拒绝或本地网络环境干扰导致的。针对 Windows 11 中 Git Bash 连接 GitHub SSH 的问题,可以尝试以下几个排查和解决方案:

一、检查网络环境和防火墙设置(失败)

  • 确认本机或局域网没有阻挡或限制 22 端口的出站连接。公司或校园网络、路由器防火墙、杀毒软件都有可能屏蔽 SSH 端口。

  • 打开 Anaconda Powershell Prompt ,尝试用命令 Test-NetConnection github.com -Port 22 测试 22 端口连通性。

  • 连接成功时的典型输出示例如下所示。关键字段是:TcpTestSucceeded ,若为 True 表示 TCP 端口 22 连接成功。
ComputerName     : github.com  
RemoteAddress    : 20.205.243.166   # 具体 IP 可能不同  
RemotePort       : 22  
InterfaceAlias   : WLAN  
SourceAddress    : 192.168.31.66  
TcpTestSucceeded : True  
  • 为 False 表示连接失败,说明网络被阻断,会显示错误信息。

可以根据这个结果判断本机网络环境是否允许访问 GitHub 的 SSH 端口。

二、尝试使用 GitHub 的备用 SSH 端口 443(成功)

因为部分网络限制了 22 端口,可以配置 SSH 连接使用 443 端口:

  • 编辑或者新建配置文件:nano ~/.ssh/config

  • 在文件内添加下面内容:

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

Nano 编辑器保存与退出:编辑完后使用 Ctrl + x 快捷键保存,会弹出 “Save modified buffer” ,输入 “y” ,最后按一下 Enter 键即可退出。

  • 保存后退出,再次用命令 ssh -T git@github.com 测试 SSH 连接,遇到中断时输入 “yes” 即可。

参考文章:【【日常踩坑】解决 kex_exchange_identification 报错】

三、检查 SSH Key 是否被正确加载

  • 启动 SSH 代理:在 Git Bash 上运行 eval $(ssh-agent -s) 命令启动 SSH 代理,这将返回一个类似于 “Agent pid xxx” 的消息,表示 SSH 代理正在运行。

确保在每次打开 Git Bash 时启动 ssh-agent :将以下指令添加到你的 ~/.bashrc 文件中,然后运行 source ~/.bashrc 指令重新加载配置文件。

if [ -f ~/.bash_profile ]; then  . ~/.bash_profile  
fi# Start SSH agent  
eval $(ssh-agent -s)
  • 输入 ssh-add -l 命令,如果出现 “The agent has no identities.” 说明没有加载私钥。

  • 加载私钥:在 Git Bash 上运行 ssh-add ~/.ssh/id_rsa 命令将你的 SSH 密钥添加到代理中。

注:需要根据你的密钥所处路径以及密钥文件名对上述命令做相应调整。

  • 验证 SSH 密钥:在添加密钥后,可以再次使用 ssh-add -l 验证是否成功添加,如果成功,会看到已添加的密钥列表,类似于 “xxx SHA256:… [你的邮箱] (RSA)” 。

  • 再次用命令 ssh -T git@github.com 测试 SSH 连接。

四、检查是否多个 SSH 进程干扰或者服务异常

  • 关闭所有 Git Bash 终端,重新打开,再尝试。

  • 重启电脑,排除暂时网络或端口占用导致异常。

五、使用 HTTPS 方式临时解决(非 SSH)

如果一直连不上 SSH ,可以用 HTTPS 方式访问 GitHub :

git clone https://github.com/用户名/仓库名.git  

推送时会要求输入用户名和 Personal Access Token(代替密码)。

六、参考官方文档和排查日志

查看 ~/.ssh 中的日志(如果有配置 debug 参数):

ssh -vT git@github.com

会输出详细调试信息,有助于精准定位问题。

七、总结

  • 最常见原因是网络防火墙阻止 SSH 端口 22 连接,可以尝试使用端口 443 。

  • 确保私钥加载正常。

  • 检查防病毒或安全软件是否拦截。

八、其他尝试过的方法(失败)

1. DNS 解析问题

打开 cmd 输入 ping 命令查看 github.com 是否可以连接:ping github.com ,如果请求超时则需要配置本地 hosts 文件。

打开文件地址:C:\Windows\System32\drivers\etc\hosts ,在此文件末尾加上以下内容:

192.30.255.112 github.com git 
185.31.16.184 github.global.ssl.fastly.net

再次在 Git Bash 上使用命令 ssh -T git@github.com 测试 SSH 连接。

参考文章:
【【GIT】远程GitHub时不成功,报错信息:ssh_dispatch_run_fatal: Connection to 13.229.188.59 port 22: Software caused】
【Git - 解决Github连接失败的问题】

2. 关闭防火墙以及代理

“软件导致连接中止” 就是指:你的系统上有一些软件导致了连接中止。这可能是防火墙、杀毒软件、代理、监控软件或者其他类似的软件。这不是 GitHub 的问题,GitHub 无法解决这个问题。

Git 开发人员建议在 Windows 上仅使用默认的杀毒软件和防火墙(即 Windows Defender 和 Windows Firewall),不要使用其他任何代理。如果您的计算机上安装了此类软件(除了默认的杀毒软件和防火墙),您应该卸载它并重新启动,问题很可能会消失。 请注意,我们无法确定是哪个软件导致了这个问题,只知道是您的计算机上的某个软件。

3. 更新 Git Bash

确保你使用的是最新版本的 Git Bash ,旧版本可能会存在某些已知的问题,你可以访问【Git 官网】进行下载和更新。

相关文章:

  • 从基础到实战的量化交易全流程学习:1.3 数学与统计学基础——概率与统计基础 | 基础概念
  • Spark Streaming实时数据处理实战:从DStream基础到自定义数据源集成
  • 如何避免爬虫因Cookie过期导致登录失效
  • Kubernetes学习笔记-配置Service对接第三方访问
  • iOS 类与对象底层原理
  • 深度学习常见框架:TensorFlow 与 PyTorch 简介与对比
  • Postman接口测试: postman设置接口关联,实现参数化
  • 超级创新思路:基于CBAM-Transformer的强化学习时间序列预测模型(Python\matlab实现)
  • 【仿Mudou库one thread per loop式并发服务器实现】服务器边缘测试+性能测试
  • 小结: DHCP
  • Haply MinVerse触觉3D 鼠标—沉浸式数字操作,助力 3D 设计与仿真
  • 【QT】QT多线程
  • MySQL----查询
  • 计算机组成原理系列3--存储系统
  • 【C语言操作符详解(一)】--进制转换,原反补码,移位操作符,位操作符,逗号表达式,下标访问及函数调用操作符
  • 《代码整洁之道》全书归纳
  • SpringMVC 通过ajax 前后端数据交互
  • Scala集合操作与WordCount案例实战总结
  • Linux命令-iostat
  • w~嵌入式C语言~合集6
  • 他比李白接地气,比杜甫乐观,比白居易刚毅
  • 伊朗外长:美伊谈判进展良好,讨论了很多技术细节
  • 对外投资增长、消费市场持续升温,中国经济砥砺前行
  • 文庙印象:一周城市生活
  • 专访|攸佳宁:手机只是矛盾导火索,重要的是看见孩子的内心
  • 中国田协通报苏州马拉松“方便门”处理情况:涉事10人禁赛3年