379 Stimmen

Ssh: Verbindung zum Host github.com Port 22 konnte nicht hergestellt werden: Zeitüberschreitung der Verbindung

Ich bin unter einem Proxy und pushe schon seit geraumer Zeit erfolgreich in git.
Jetzt kann ich plötzlich nicht mehr in git pushen.
Ich habe den RSA-Schlüssel und den Proxy gesetzt und sie doppelt überprüft, jedoch ohne Erfolg, und git wirft mir den im Titel der Seite angezeigten Fehler aus.

0voto

justadev Punkte 868

Was es für mich gelöst hat, war ssh-add auf der Schlüsseldatei auszuführen.

ssh-add C:/Path/To/Key.pem

C:/Users/User/.ssh/config:

Host sshapp
    Hostname ssh.github.com
    IdentityFile C:/Path/To/Key.pem
    Port 443

Dann klonen mit:

>git clone git@sshapp:/app.git
Cloning into 'app'...
The authenticity of host '[ssh.github.com]:443 ([140.82.121.35]:443)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6T.....vCOqU.

0voto

Nguyễn Văn Phong Punkte 12517

In meinem Fall,

  1. Ich sichere die known_hosts als known_hosts.bk
  2. Ich lösche alle Inhalte des alten known_hosts.

Vielleicht hat es sich an den alten Host erinnert, als ich mich mit der anderen .pem Datei eingeloggt habe.

  • Fehler

enter image description here

  • Erfolg

enter image description here

0voto

JohnLBevan Punkte 20206

Ich hatte dieses Problem, als ich über das WLAN einer öffentlichen Bibliothek gearbeitet habe.

Wenn Sie PowerShell ausführen test-netconnection github.com -port 22 , zeigte sich, dass ausgehende Verbindungen auf diesem Port blockiert wurden (viele Orte scheinen nur HTTP-Ports zuzulassen; d.h. 80 und 443).

Zum Glück ermöglicht es GitHub auch, auf SSH über Port 443 zuzugreifen: Dokumentation

Statt git clone git@github.com:myOrg/myRepo.git auszuführen, machen Sie die folgenden Anpassungen:

  • Fügen Sie ssh:// am Anfang der URL hinzu
  • Verbinden Sie sich mit dem ssh Subdomäne (d.h. ssh.github.com anstelle von nur github.com)
  • Fügen Sie den Port nach dem Hostnamen hinzu: d.h. :443.
  • Ändern Sie den Doppelpunkt vor Ihrem Org/Benutzernamen in einen Schrägstrich.

Also für das obige Beispiel würden Sie ausführen: git clone ssh://git@ssh.github.com:443/myOrg/myRepo.git

Dies kann eine Warnung über die Authentizität des Hosts geben; aber (vorausgesetzt, Sie sind zufrieden*), das Beantworten von YES erlaubt es, den Befehl auszuführen. Um zu entscheiden, ob Sie mit JA antworten sollten, überprüfen Sie den Fingerabdruck, der in dieser Warnung angegeben ist, mit den veröffentlichten Fingerabdrücken von GitHub.

0voto

Wenn Sie unter Windows sind, wechseln Sie in das Verzeichnis, in dem Sie Ihren SSH-Schlüssel gespeichert haben, und versuchen Sie es erneut. Bei mir hat es funktioniert.

0voto

Klaus Haukenstein Punkte 554

Also hatte ich dasselbe Problem (nicht hinter einem Proxy) und stieß auf diese Frage. Hier ist, was ich getan habe, um es zu beheben:

Versuchte, ssh -T git@github.com auszuführen und es konnte nicht durchgeführt werden, aber das Hinzufügen von -o KexAlgorithms=ecdh-sha2-nistp521 führte zu einer erfolgreichen Verbindung (gefunden in dieser Antwort auf eine halbwegs verwandte Frage).

Um dies dauerhaft zu beheben, habe ich einfach eine Zeile KexAlgorithms=ecdh-sha2-nistp521 unter github.com in meiner ~/.ssh/config hinzugefügt. Alles scheint jetzt gut zu funktionieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X