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

相关推荐
wangruofeng3 小时前
opencodex 解锁 Codex 任意模型,一个本地代理打通 Claude/Kimi/GLM/DeepSeek
llm·github·openai
是宇写的啊4 小时前
Git远程操作
git
一点一木4 小时前
从60首歌到1个网站:输入你的故事,还你一首歌
前端·github
刘较瘦_9 小时前
AI 开发中的 Git Submodule 父子仓库模式:前后端分仓管理与协作实践
前端·github
DeMinds12 小时前
内容没有丢,我为什么总在重新整理?|DeMinds 如何让工作接着继续
ios·github·markdown
寒水馨12 小时前
macOS下载、安装openclaw-v2026.7.1(附安装包OpenClaw-2026.7.1.dmg)
macos·大模型·github·开源软件·ai助手·openclaw·gpt-5.6
our_times12 小时前
# Git 高频命令实战指南:从日常开发到进阶协作
git
徐小夕13 小时前
花了3天,我写了一款开源AI公众号编辑器
前端·vue.js·github
PBitW13 小时前
git 中容易遗忘的点 (二) ⚡⚡⚡
前端·git·面试