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访问。

相关推荐
Gavin_ZYX22 分钟前
Skill 管理过于繁琐,不如写个自动同步的工具
人工智能·架构·github
Hommy881 小时前
【开源剪映小助手-客户端】桌面客户端
python·开源·node.js·github·剪映小助手
张二娃同学2 小时前
Claude Code 使用教程:下载安装、CC Switch 配置、MiniMax API 获取与启动实操
人工智能·windows·深度学习·github·claude code
华仔啊2 小时前
写简历太痛苦?这个开源项目用 AI 帮你一键搞定
github
70asunflower3 小时前
个人主页从 0 到 1:Jekyll + GitHub Pages + AI Agent 完全指南
github·个人主页
无限进步_3 小时前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
历程里程碑3 小时前
1 . Git本地操作:版本控制 跨平台协作 仓库核心
java·开发语言·数据结构·c++·git·gitee·github
芜湖xin4 小时前
【恒源智享云】pycharm社区版SSH方式使用实例
ssh·云服务器
华科大胡子4 小时前
Git + 云原生
git
johnny2334 小时前
Git拓展:GitButler、Gitnuro、JGit
git