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

相关推荐
badhope6 小时前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
zhangfeng11338 小时前
Windows 的 Git Bash 中使用 md5sum 命令非常简单 md5做文件完整性检测 WinRAR 可以计算文件的 MD5 值
人工智能·windows·git·bash
TonyLee0179 小时前
Github使用记录
github
放下华子我只抽RuiKe513 小时前
从零构建高精度 AI Agent Skill:Tech Blog Generator 实战指南
人工智能·prompt·github·ai agent·skills·openclaw·development
2401_8846621013 小时前
GitHub镜像站搭建全攻略大纲
github
散峰而望14 小时前
【基础算法】从入门到实战:递归型枚举与回溯剪枝,暴力搜索的初级优化指南
数据结构·c++·后端·算法·机器学习·github·剪枝
Refly16 小时前
【微信接入 OpenClaw 龙虾🦞】10分钟手把手教程完成接入,Claude 模型无限使用
前端·微信·github
csdn_aspnet16 小时前
Git灾难级误操作抢救手册:从reset到reflog的终极救援
git·恢复·误删
老星*17 小时前
Lucide Icons:开源、轻量、设计师友好的现代图标库
ui·开源·github
亚林瓜子17 小时前
linux账号强制密码过期导致私钥文件登录异常问题——(current) UNIX password:
linux·运维·服务器·ssh·aws·ec2·chage