您的位置:首页 > 健康 > 养生 > 中国科技成就2019_舆情报告案例2022_模板网站建站公司_seo优化与推广招聘

中国科技成就2019_舆情报告案例2022_模板网站建站公司_seo优化与推广招聘

2025/4/28 6:27:15 来源:https://blog.csdn.net/weixin_49272453/article/details/147563941  浏览:    关键词:中国科技成就2019_舆情报告案例2022_模板网站建站公司_seo优化与推广招聘
中国科技成就2019_舆情报告案例2022_模板网站建站公司_seo优化与推广招聘

目录

  • 一、检查网络环境和防火墙设置(失败)
  • 二、尝试使用 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 官网】进行下载和更新。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com