自从我有了新PC以来,SSH在过去的几周里一直运行良好。我没有问题,但是今天我开始明白了:ssh: connect to host github.com port 22: resource temporarily unavailable
我进行了一些谷歌搜索,发现WSL有一个常见的问题有时会导致这种情况,但是我无法从我的bash shell或cmd / powershell中进行SSH。
这是让我感到困惑的部分,如果我这样做:ssh -T git@192.30.253.113
提示我输入密钥密码,它成功进行身份验证并显示“嗨alexmk92!您已成功身份验证”。
太好了,至少可以证明我的防火墙没有在端口22上阻止SSH。但是,为什么git@github.com
抛出资源失败错误?我最初的想法是,这可能是DNS问题。
因此,我尝试将网络适配器配置为使用Google的DNS服务器(8.8.8.8
和8.8.4.4
),甚至为防万一而配置了IPV6 DNS服务器。在此之后,我做了一个ipconfig /flushdns
,尝试再次通过git@github.com
连接并BAM获得相同的结果,但是git@192.30.253.113
仍然有效。
我猜测另一个潜在原因是github.com
在负载均衡器后面,并且群集中的IP之一可能在我的计算机上的黑名单中了吗?我现在只是凭空猜测,任何帮助将不胜感激,这使我发疯。
最佳答案
经过进一步的Google搜索后,发现我的机器没有github.com的主机条目,并且无法自动解决它。
在Linux的Windows子系统中,我创建了一个ssh配置文件
touch ~/.ssh/config
(由于某种原因,Windows市场上的Ubuntu 18.04的基本发行版没有一个)我然后必须确保文件许可权正确:
chmod 755 ~/.ssh/config
创建文件后,我用
sudo nano ~/.ssh/config
并添加了
github.com
作为主机。Host github.com
Hostname ssh.github.com
Port 22
保存后,我跑了
sudo /etc/init.d/ssh restart
并尝试
ssh -T git@github.com
现在一切似乎都正常了。
关于ssh - SSH到Github无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51790681/