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

相关推荐
Kiri霧35 分钟前
Git入门
git
你的人类朋友2 小时前
说说git的变基
前端·git·后端
程序设计实验室3 小时前
在Windows上将git与ssh-agent搭配使用,再也不用输入git密码了
windows·git
Clownseven3 小时前
Gitea Webhook教程:实现git push后自动部署更新网站 (CI/CD入门)
git·ci/cd·gitea
兔老大RabbitMQ5 小时前
git pull origin master失败
java·开发语言·git
大千AI助手7 小时前
GitHub Copilot:AI编程助手的架构演进与真实世界影响
人工智能·深度学习·大模型·github·copilot·ai编程·codex
xuanerya7 小时前
使用 SSH 方式克隆 GitHub 仓库没有权限解决办法
运维·ssh·github
希尔伯特旅馆12 小时前
Tushare:量化投资数据获取
github
码农小白-RMS12 小时前
cursor-执行git指令(vscode同理)
git