You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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端口封禁,操作步骤:

  1. 编辑SSH配置文件,不存在则新建:
    vim ~/.ssh/config
  2. 写入以下配置:
Host github.com
  Hostname ssh.github.com
  Port 443
  User git
  1. 保存退出后测试连通性:
    ssh -T git@github.com
    正常返回认证成功提示即修复完成。

2. 本地网络拦截排查

如果替换端口后依然超时,按以下步骤排查:

  • 临时关闭本地防火墙后重试,确认是否是防火墙规则拦截:
    • firewalld环境:sudo systemctl stop firewalld
    • ufw环境:sudo ufw disable
    • iptables环境:sudo iptables -F
      测试恢复后自行调整防火墙出站规则即可。
  • 验证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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 12:15:03