Github 的 SSH 被阻断以及部分解决方法
2025/8/29大约 2 分钟
众所周知,我那边 Github 以往只是在443端口间歇性阻断,22端口的ssh没有啥事情,前几天 Github 部分 IP 的22惨遭阻断,于是就诞生了这篇文章.
1. 改 IP
部分 IP 的 SSH 22端口尚未阻断,可以通过修改 Hosts 文件,或者是修改 DNS 的返回结果等方式指定到这些 IP 来解决阻断问题.
Hosts 文件内容如下.
20.27.177.113 github.com # 20.27.177.113 这个 IP 可以换成别的 Github 优选 IP各大系统 Hosts 文件位置:
Windows: C:\windows\system32\drivers\etc\hosts
Linux: /etc/hosts
MacOS: /etc/hosts
安卓建议通过爱玩机等第三方工具修改(需 ROOT 权限)
获取其他的 Github IP 方式:
- 上网搜(关键词: Github 优选 IP).
- 在 itdog 上测速输入 github.com, 然后看看海外解析的地址,建议优先选日本香港等环大陆地区的 IP,然后本地 ping 一下看看效果,效果不错的话就可以用了.
2. 挂代理/中转服务器
注意
部分机场为了防止扫爆,会屏蔽 SSH 的22端口,使用之前需要先注意.
2.1 代理软件的 TUN 模式
这个不多说,懂得都懂.用 TUN 模式让 git 的操作通过代理访问.
2.2 配置 git 让其走代理/跳板服务器.
原贴: V2EX 注: 原帖内容需要开代理访问.
下面两种方法二选一即可.
通过 SSH 跳板服务器中转
~/.ssh/config
Host github.com
User git
HostName github.com
ProxyJump proxyserver
Host proxyserver
User root
HostName your_server_ip
IdentityFile xxxproxyserver 就用例如说 HK 地区等可以直连 Github 的服务器.
通过 socks5 代理
~/.ssh/config
Host github.com
User git
HostName github.com
ProxyCommand ncat --proxy-type socks5 --proxy 127.0.0.1(代理服务器IP):9999(端口) %h %p如果报错没有 ncat 的话请安装.
命令中的 socks5 代理信息请换成自己的.
3. 换个托管平台
Gitlab 的仓库支持从 Github 导入和同步,Gitlab 在国内被干扰不严重,可以正常使用.账号记得挂代理登录防止遣返国内.
Gitee(https://gitee.com) 也可以但是不太推荐.
也可以用 Codeberg. 也支持从 Github 迁移仓库.