ssh: Hostname konnte nicht aufgelöst werden github.com: Name oder Dienst nicht bekannt; tödlich: Das entfernte Ende legte unerwartet auf

76

Das Einrichten eines GitHub-Kontos funktioniert einwandfrei, aber nicht, wenn ich versuche, mein Repository auf GitHub zu verschieben. Die angezeigte Fehlermeldung lautet wie folgt:

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

Ich habe versucht, die RSA-Schlüssel zu ändern, aber es wird immer noch ein Fehler angezeigt.

Was verursacht diesen Fehler?

Neel Pathak
quelle
4
Ich habe dieses Problem auch gesehen, aber es scheint zeitweise zu sein - ich habe 10 Minuten gewartet, dann ging es weg
Mark Butler
2
Im geringsten nicht lokalisiert.
Starkers
Diese Antwort hat bei mir funktioniert.
Waldyrious
3
Es scheint mir, dass Github das Klonen über IPv6 nicht unterstützt. Ich habe ipv4 durch Ändern von ~ / .ssh / config erzwungen (Sie müssen die Formatierung selbst herausfinden, da ich das in den Kommentaren nicht tun kann): Host github.com * .github.com AddressFamily inet
user48678
Wie aus einer der Antworten hervorgeht, kann es sich um ein vorübergehendes Problem handeln, das von Ihrer Seite nicht geändert werden muss, sondern auf die Lösung des Problems auf der Seite von github.com wartet.
Matanster

Antworten:

63

Vor kurzem habe ich dieses Problem auch gesehen. Unten haben Sie meine Lösung:

  1. ping github.com, wenn ping fehlgeschlagen ist. Es ist ein DNS-Fehler.
  2. sudo vim /etc/resolv.conf, der add: nameserver 8.8.8.8 nameserver 8.8.4.4

Oder es kann ein echtes Netzwerkproblem sein. Starten Sie Ihren Netzwerkmanager neu sudo service network-manager restartoder reparieren Sie ihn

Qiangks
quelle
1
@JsonBruce und Fahmi: Um mehr darüber zu erfahren, warum es funktioniert hat, lesen Sie, wie DNS funktioniert zum Auflösen von einem in Ihrer /etc/resolv.conf konfigurierten Nameserver (im Fall von UNIX / Linux). Überprüfen Sie en.wikipedia.org/wiki/Name_server
Vishrant
@FahmiRamadhan Ich glaube, wenn github den DDOS-Schutz von Drittanbietern aktiviert, ändern sich die DNS-Datensätze und / oder Server. Die oben genannten Aktionen löschen Ihre DNS-Datensätze und verweisen auf die DDOS-geschützten Server. (Ich habe dies zu meiner Antwort hinzugefügt)
Jens Timmerman
20

Ich habe diesen Fehler gerade erhalten, nachdem ich von HTTPS zu SSH gewechselt habe (für meine Ursprungsfernbedienung). Um das Problem zu beheben, habe ich einfach den folgenden Befehl ausgeführt (für jedes Repo):

ssh -T [email protected]

Nach erfolgreicher Antwort konnte ich mit ssh das Repo abrufen / pushen.

Ich habe diesen Befehl aus Git's Testing your SSH-Verbindungshandbuch übernommen , das Teil des größeren Connecting to GitHub mit SSH- Handbuchs ist.

Todd
quelle
Probleme auch nach Ausführung dieses Befehls erhalten $ ssh -T [email protected] [email protected]: Berechtigung verweigert (publickey).
Rahul Anand
15

Github hat derzeit (am 22. Februar 2012, erneut am 5. September 2016) einige Probleme beim Schieben / Ziehen über ssh. Ich habe die gleichen Probleme.

Über https zu ziehen ist ein funktionierender Gedanke.

Sie können versuchen, über https zu pushen, indem Sie dieser Anleitung folgen: https://help.github.com/articles/using-ssh-over-the-https-port/

Dies würde nur helfen, wenn https nicht betroffen ist. Sie können versuchen, ob https://status.github.com/ Anzeichen einer Verlangsamung aufweist. Geben Sie hier die Bildbeschreibung ein Diagramme, in denen die durchschnittliche Antwortzeit steigt, bedeuten, dass bei github Probleme (oder möglicherweise ein DDOS) auftreten und nicht bei Ihnen.

Wenn Github derzeit DDOS-fähig ist, können sie den DDOS-Schutz von Drittanbietern aktivieren. Dies würde bedeuten, dass sie ihre DNS-Datensätze und / oder Server ändern, wenn diese Teil des DDOS sind.

Das Leeren Ihrer DNS, das Ändern Ihres DNS-Servers oder das Neustarten Ihres Netzwerks (wodurch möglicherweise Ihr DNS-Cache geleert wird), wie in der anderen Antwort angegeben, kann dazu beitragen, das Problem für Sie zu beheben, wenn Github ein DDOS abschwächt.

Wenn Sie Probleme mit Ihrem SSH-Setup haben, finden Sie die SSH-FAQ hier: http://help.github.com/ssh-issues/

Andere Möglichkeiten, um Ihre DNS in Fenstern in Ihrem Terminal zu leeren

ipconfig /flushdns

auf Macos

dscacheutil -flushcache

unter Linux

service nscd restart

oder einfach neu starten;)

Jens Timmerman
quelle
3

In meinem Fall hatte ich beim manuellen Hinzufügen des Remote-Ursprungs mit etwas falsch geschrieben git remote add origin ....

Es lohnt sich zu überprüfen, ob Ihre Fernbedienung korrekt ist git remote -v

Skylar Brown
quelle
0

Manchmal ist es auch eine gute Idee, den Computer neu zu starten. Als ich nach dem Neustart des Systems auf dasselbe Problem stieß, wurde mir mitgeteilt, dass Ihr privater Schlüssel gesperrt ist und Github nicht darauf zugreifen kann. Geben Sie dazu Ihr Kennwort ein. Ich habe das Kennwort eingegeben und das Problem wurde behoben.

Namrata
quelle
0

Auf Centos 7

  1. Überprüfen Sie die IP-Adresse mit dem Befehl ifconfig. Sie erhalten Informationen wie diese

    ens33: flags=****<UP,BROADCAST,RUNNING,MULTICAST>  mtu ****
    
    inet ***.***.***.***  netmask ***.***.***.0  broadcast ***.***.***.***
    
  2. Fügen Sie inet IP-Adresse und Hostnamen in die Datei ein /etc/hosts

    ein. Datei öffnenvi /etc/hosts

    b. IP hinzufügen und Host mögenip_address hostname hostname

  3. Neustart

Es wird IP und Host anhängen.

Birbal Sain
quelle
0

Jedes davon könnte helfen

  1. Bestätigen Sie, ob Sie noch mit ssh verbunden sind. Geben Sie Folgendes ein: ssh -T [email protected]

Wenn Sie die Meldung erhalten, dass Sie erfolgreich authentifiziert wurden und Github den Shell-Zugriff nicht unterstützt, können Sie versuchen, Ihren Code erneut zu übertragen.

2) Erstellen Sie einen neuen ssh-Schlüssel, fügen Sie ihn zu github hinzu und testen Sie ihn mit ssh -T [email protected]

Onyejiaku Theodore Kelechukwu
quelle