GitHub SSH连接超时
遇到这么个报错:
ssh: connect to host github.com port 22: Connection timed out
说白了,就是网络没法通过默认的 SSH 端口(22)连上 GitHub。这种情况挺常见的,尤其是在公司网络、校园网或者某些特别严格的防火墙后面。
其实GitHub 为 SSH 连接准备了一个备用端口——443。这个端口通常不会被防火墙拦死,毕竟HTTPS流量也要走它。换个端口,大概率就能搞定。
这是最可能快速解决问题的方案,没有之一。
操作步骤
1. 修改 SSH 配置文件
打开或创建一个 SSH 配置文件,位置如下:
- Linux/macOS:
~/.ssh/config - Windows:
C:\Users\<你的用户名>\.ssh\config
然后在文件里加上这一段:
Host github.com
Hostname ssh.github.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa # 如果密钥是其他名称或路径,请修改此处,例如 id_ed25519
如果你的密钥名字不是id_rsa,记得把路径改对。Windows 下路径要写全,比如IdentityFile C:\Users\<你的用户名>\.ssh\id_rsa。
2. 验证连接
保存配置文件后,打开终端(或者 Git Bash),运行下面的命令测试一下:
ssh -T git@github.com
如果配置成功,你会看到类似这样的消息:
Hi! You've successfully authenticated, but GitHub does not provide shell access.
看到这个,就说明连上了。
3. 再次克隆
接下来重新跑一次git clone命令,看看问题是不是已经解决了。
总结
换个端口,改一下配置文件,一般就能解决SSH连接超时的麻烦。如果还不行,再检查一下网络袋里或者翻跟斗设置,但绝大多数情况走到这一步就没问题了。