git报错解决:ssh: connect to host github.com port 22: Connection refused

本文为Windows系统报错的解决办法,当我们使用Git命令操作GitHub项目的时候,突然会出现这个问题:

复制代码
ssh: connect to host github.com port 22: Connection refused

1.问题分析

这个问题为SSH连接GitHub时端口22被拒绝的问题。常见的原因包括防火墙或网络设置阻止了端口22,或者用户配置了使用SSH但网络环境不支持。

通常,GitHub支持两种协议:SSH和HTTPS。如果SSH端口被阻止,可以改用HTTPS协议。另外,检查SSH配置是否正确,比如是否使用正确的远程URL,或者尝试使用HTTPS端口443进行SSH连接。

2.解决思路

1️⃣ 创建/修改SSH配置文件

复制代码
notepad C:\Users\你的用户名\.ssh\config

2️⃣ 添加以下内容

复制代码
Host github.com
  Hostname ssh.github.com
  Port 443
  User git

效果如下:

3️⃣ 测试连接

复制代码
ssh -T git@github.com

✅ 成功时会显示:You've successfully authenticated...

4️⃣ 验证端口使用

复制代码
ssh -v -T git@github.com

在输出中应该能看到:Connecting to ssh.github.com port 443

💡 如果仍然失败: 🔸 检查防火墙是否放行443端口 🔸 尝试在命令中直接指定端口:

复制代码
ssh -T -p 443 git@ssh.github.com

中间有一段输入错了,直接输入yes。这是SSH首次连接时的正常安全提示

验证指纹真实性: 访问GitHub官方文档确认指纹:

1️⃣最后再一次检查配置文件完整性

复制代码
cat C:\Users\你的用户名\.ssh\config

确保包含:

复制代码
Host github.com
  Hostname ssh.github.com
  User git
  Port 443
  IdentityFile ~/.ssh/id_rsa

如下显示:

2️⃣使用完整连接命令

复制代码
ssh -Tv git@github.com -p 443

3️⃣验证端口使用:

复制代码
ssh -v -T git@github.com

显示如下就成功:

后面的提示无法访问shell是正常现象,因为GitHub不提供shell访问。

相关推荐
XiaoHu02074 小时前
Linux多线程(详细全解)
linux·运维·服务器·开发语言·c++·git
*才华有限公司*5 小时前
RTSP视频流播放系统
java·git·websocket·网络协议·信息与通信
juelianhuayao6 小时前
Git错误提交后如何快速删除本次commit
git
chen<>6 小时前
Git原理与应用
大数据·git·elasticsearch·svn
行百里er6 小时前
代码跑得慢?让Spring的StopWatch告诉你真相!
java·后端·github
小兔崽子去哪了7 小时前
Git 专题
git
金米kk7 小时前
git pull时报错Your local changes to the following files would…的解决办法
git
超级罗伯特7 小时前
git一次性完成仓库下载及所有分支获取
git·git仓库拉取
BUTCHER57 小时前
Git 基础命令
git
M malloc7 小时前
当你有两个git账号时,此时你gitpush冲突后如何解决push问题
git