ssh:无法解析主机名github.com:名称或服务未知;致命:远程端意外挂断

时间:2012-02-22 10:53:16

标签: git

设置GitHub帐户的过程很好但是当我尝试将我的存储库推送到GitHub时它不起作用。它显示的错误消息如下:

ssh: Could not resolve hostname github.com: Name or service not known
fatal: The remote end hung up unexpectedly

我尝试更改RSA密钥,但仍然出现错误。

导致此错误的原因是什么?

7 个答案:

答案 0 :(得分:38)

最近,我也看到了这个问题。以下是我的解决方案:

  1. ping github.com,如果ping失败。这是DNS错误。
  2. sudo vim /etc/resolv.conf,添加: nameserver 8.8.8.8 nameserver 8.8.4.4
  3. 或者它可能是一个真正的网络问题。使用sudo service network-manager restart重新启动您的网络管理员或修复

答案 1 :(得分:10)

Github目前(2012年2月22日,2016年9月5日再次)在推送/拉动ssh方面存在一些问题。 我遇到了同样的问题。

拉过https正在考虑中。

您可以按照以下指南尝试推送https:https://help.github.com/articles/using-ssh-over-the-https-port/

这只有在https不受影响的情况下才有用。 如果https://status.github.com/显示出事情放缓的迹象,你可以试试。 enter image description here 平均响应时间上升的图表意味着在github上存在问题(或可能是DDOS),而不是在您的最终。

如果github目前正在进行DDOS,他们可能会选择从第三方启用DDOS保护。这意味着如果它们是DDOS的一部分,它们会更改其dns记录和/或服务器。

如果github正在减少DDOS,刷新你的DNS,更改你的DNS服务器或重新启动网络(可能会刷新你的dns缓存)可能有助于你解决问题。

如果您的ssh设置有问题,可以在此处找到ssh常见问题解答:http://help.github.com/ssh-issues/

其他冲洗dns的方法, 在终端的Windows中

ipconfig /flushdns

在macos上

dscacheutil -flushcache

在linux上

service nscd restart

或只是重启;)

答案 2 :(得分:4)

我从HTTPS切换到SSH(对于我的原始远程)后刚收到此错误。要修复,我只需运行以下命令(对于每个repo):

ssh -T git@github.com

收到成功回复后,我可以使用ssh获取/推送回购。

我从Git的Testing your SSH connection指南中获取了该命令,该指南是更大Connecting to GitHub with with SSH指南的一部分。

答案 3 :(得分:0)

在我的情况下,使用git remote add origin ...手动添加远程原点时,我拼错了一些内容。

值得用git remote -v检查您的遥控器是否正确

答案 4 :(得分:0)

有时重新启动计算机也是一个好主意。重新启动系统后,当我遇到相同的问题时,它告诉我您的私钥已被锁定,并且github无法访问它。.所以输入您的密码即可。。我输入了密码,然后问题就解决了。

答案 5 :(得分:0)

在centos 7上

  1. 使用命令ifconfig检查IP地址。您将获得这样的信息

    ens33: flags=****<UP,BROADCAST,RUNNING,MULTICAST>  mtu ****
    
    inet ***.***.***.***  netmask ***.***.***.0  broadcast ***.***.***.***
    
  2. 在文件/etc/hosts

    中添加inet ip地址和主机名

    a。打开文件vi /etc/hosts

    b。添加IP和主机,例如ip_address hostname hostname

  3. 重启

它将附加ip和主机。

答案 6 :(得分:0)

每种方法都可以帮助

  1. 确认是否仍使用ssh连接。 输入: ssh -T git@github.com

如果收到消息,说明您已成功通过身份验证,并且github不支持shell访问,则可以尝试再次推送代码。

2)创建一个新的ssh密钥,将其添加到github并使用进行测试 ssh -T git@github.com