GitHub SSH 无响应卡住的解决方案:改用 443 端口、HTTPS 与代理排查全指南
目录
GitHub SSH 无响应卡住的解决方案:改用 443 端口、HTTPS 与代理排查全指南
当你执行 ssh -T [email protected]
没有任何反应(长时间卡住),说明本地到 GitHub 的 SSH 端口(22)被阻断或极不稳定。常见于中国大陆、部分云服务器、公司/校园网络,香港服务器偶尔也会遇到。
解决方法
1. 直接改用 HTTPS(推荐)
- 使用仓库的 HTTPS 地址进行 clone/pull/push,通常更稳定。
- 搭配 Personal Access Token(PAT)作为密码登录。
2. 修改 SSH 端口为 443
有些网络 22 端口被封,但 443 可用。可以让 SSH 走 443 端口:
将以下配置添加到 ~/.ssh/config
:
Host github.com
HostName ssh.github.com
User git
Port 443
然后测试:
ssh -T [email protected]
3. 检查网络连通性
ping github.com
或使用telnet github.com 22
/telnet ssh.github.com 443
测试。- 尝试切换网络(手机热点/宽带)、使用 VPN 或代理。
4. 配置代理(如有梯子)
如果你有 HTTP/SOCKS5 代理,可让 ssh 走代理:
临时环境变量方式:
export ALL_PROXY=socks5://127.0.0.1:1080
ssh -T [email protected]
或在 ~/.ssh/config
中使用 ProxyCommand:
Host github.com
HostName ssh.github.com
User git
Port 443
ProxyCommand nc -x 127.0.0.1:1080 %h %p
其他建议
- 检查本机防火墙、云服务器安全组,确保 22/443 出站未被封锁。
- 公司/校园网络可能需要联系网管或使用合规 VPN。
- 如果长期遇到 SSH 不稳定,优先使用 HTTPS + PAT,可避免 SSH 端口受限问题。