感谢大佬:坑:ssh: connect to host github.com port 22: Connection refused - 知乎
运行 ssh -T git@github.com connect to host github.com port 22 Connection timed out
方法1:使用Github的443端口
运行 ssh -T -p 443 git@ssh.github.com 出现
Hi xxxxx! You've successfully authenticated, but GitHub does notprovide shell access.
进入 C:\Users\XXX.ssh (linux进入~/.ssh)修改里面的config文件,添加下面代码
Host github.com
Hostname ssh.github.com
Port 443
修改完config文件后,使用ssh -T git@github.com来测试和GitHub的网络通信是否正常,如果提示Hi xxxxx! You've successfully authenticated, but GitHub does not provide shell access. 就表示一切正常了。这个方案有效的前提是:执行命令ssh -T -p 443 git@ssh.github.com后不再提示connection refused,所以要尝试这个方案的小伙伴先执行这条命令测试下。
方法2:配置DNS
如果你发现DNS解析并没有解析到127.0.0.1,但是执行ssh -vT git@github.com就是显示当前github.com解析的ip连接22端口和443端口失败,那就直接去dnschecker.org/或者api.github.com/meta找另外的可用ip。
然后修改自己电脑上的DNS解析host文件,把github.com解析到新的ip,然后再测试。
windows的hosts文件在:C:\Windows\System32\drivers\etc,Linux在/etc/hosts
修改hosts文件,添加dns映射
140.82.113.4 github.com