Manjaro系统下GitHub SSH命令执行提示22端口连接超时如何解决?
问题原因
该报错本质是本地到GitHub的22端口TCP连接无法建立,常见原因如下:
- 国内多数运营商或本地网络环境封禁了GitHub的22端口SSH连接,这是最高发的场景
- 本地系统防火墙(firewalld/ufw/iptables)配置了22端口出站拦截规则
- 本地
~/.ssh/config存在错误配置,比如错误的代理、Host映射规则 - 本地DNS解析污染,导致GitHub域名解析到不可用的IP地址
排查修复步骤
1. 快速修复方案(适配国内网络环境)
GitHub官方支持SSH协议走443端口,直接替换连接端口即可绕过22端口封禁,操作步骤:
- 编辑SSH配置文件,不存在则新建:
vim ~/.ssh/config - 写入以下配置:
Host github.com Hostname ssh.github.com Port 443 User git
- 保存退出后测试连通性:
ssh -T git@github.com
正常返回认证成功提示即修复完成。
2. 本地网络拦截排查
如果替换端口后依然超时,按以下步骤排查:
- 临时关闭本地防火墙后重试,确认是否是防火墙规则拦截:
- firewalld环境:
sudo systemctl stop firewalld - ufw环境:
sudo ufw disable - iptables环境:
sudo iptables -F
测试恢复后自行调整防火墙出站规则即可。
- firewalld环境:
- 验证DNS解析是否正常:
执行nslookup github.com,如果解析到的IP延迟超过300ms或完全无法ping通,可更换公共DNS(比如114.114.114.114、8.8.8.8)后重试。
3. 密钥配置校验
如果连通性正常但返回认证失败,确认密钥配置:
- 确认本地
~/.ssh/id_rsa.pub(或你自定义生成的公钥文件)内容已完整提交到GitHub的SSH密钥设置页 - 修正本地SSH目录权限:
chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa - 可加-v参数输出详细调试日志定位问题:
ssh -vT git@github.com
内容的提问来源于stack exchange,提问作者user17297758
相关产品推荐
相关产品推荐

