自从我有了新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
提示输入密码作为密码,它成功进行身份验证并显示“ Hi alexmk92!您已成功身份验证”。
太好了,至少可以证明我的防火墙没有在端口22上阻止SSH。但是为什么git@github.com
抛出资源失败错误?我最初的想法是这可能是DNS问题。
因此,我尝试将网络适配器配置为使用Google的DNS服务器(8.8.8.8
和8.8.4.4
),甚至为防万一,我还配置了IPV6 DNS服务器。之后,我做了一个ipconfig /flushdns
,尝试再次通过git@github.com
进行连接并获得相同的结果,但是git@192.30.253.113
仍然有效。
我猜测另一个可能的原因是github.com
位于负载均衡器后面,并且群集中的IP之一可能在我的计算机上的黑名单中了吗?我现在只是凭空猜测,任何帮助将不胜感激,这让我发疯。
答案 0 :(得分:1)
进一步搜索之后,发现我的机器没有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
。现在一切似乎都正常了。
答案 1 :(得分:0)
要成功地与Github建立SSH连接,必须将SSH密钥导入到Github中
ssh-keygen
在文件夹 *
答案 2 :(得分:0)
在我的情况下,我的ISP不允许ssh,因此不能同时在cmd和wsl上运行。使用vpn绕过它