ssh: connect to host github.com port 22: Connection timed out

服务器技术 3 个月前 回复

,

ssh: connect to host github.com port 22: Connection timed out

排查思路
ssh: connect to host github.com port 22: Connection refused这个错误提示的是连接github.com的22端口被拒绝了。

原本以为http://github.com挂了,但是浏览器访问http://github.com一切正常。

网上搜索这个报错,发现很多人遇到这个问题,大概有2个原因和对应解决方案:

使用GitHub的443端口
22端口可能被防火墙屏蔽了,可以尝试连接GitHub的443端口。

$ vi ~/.ssh/config

# Add section below to it
Host github.com
  Hostname ssh.github.com
  Port 443

$ ssh -T git@github.com
Hi xxxxx! You've successfully authenticated, but GitHub does not
provide shell access.

这个解决方案的思路是:给~/.ssh/config文件里添加如下内容,这样ssh连接GitHub的时候就会使用443端口。

如果~/.ssh目录下没有config文件,新建一个即可。

修改完~/.ssh/config文件后,使用ssh -T git@github.com来测试和GitHub的网络通信是否正常,如果提示Hi xxxxx! You've successfully authenticated, but GitHub does not provide shell access. 就表示一切正常了。

但是,这个方案在我这里行不通,修改后还是提示ssh: connect to host github.com port 443: Connection refused。

这个方案有效的前提是:执行命令ssh -T -p 443 git@ssh.github.com后不再提示connection refused,所以要尝试这个方案的小伙伴先执行这条命令测试下。

参考原文:https://zhuanlan.zhihu.com/p/521340971

支付宝打赏微信打赏

如果此文对你有帮助,欢迎打赏作者。

发表评论

欢迎回来 (打开)

(必填)