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.

658voto

Mahan_F Punkte 7609

Für meinen Fall haben keine der vorgeschlagenen Lösungen funktioniert, also habe ich versucht, es selbst zu beheben und habe es gelöst.

Für mich tritt dieser Fehler auf meiner AWS EC2 UBUNTU-Instanz auf, was ich gemacht habe, um ihn zu beheben, war die ssh-Konfiguration zu bearbeiten (oder hinzuzufügen, wenn sie nicht existiert).

sudo nano ~/.ssh/config

Und ich habe Folgendes hinzugefügt

Host github.com
 Hostname ssh.github.com
 Port 443

Dann führen Sie den Befehl ssh -T git@github.com aus, um zu bestätigen, ob das Problem behoben ist.

Laut diesem

Manchmal weigern sich Firewalls, SSH-Verbindungen vollständig zuzulassen. Wenn das Klonen über HTTPS mit dem Zwischenspeichern von Anmeldeinformationen keine Option ist, können Sie versuchen, mit einer SSH-Verbindung über den HTTPS-Port zu klonen. Die meisten Firewall-Regeln sollten dies zulassen, aber Proxy-Server können stören

Hoffentlich hilft das anderen, die das gleiche Problem haben wie ich.

329voto

Vihari Piratla Punkte 7254

Der Grund könnte die Firewall-Änderung sein, da Sie sich in einem Netzwerk befinden. (In diesem Fall können sie möglicherweise einige Ports absichtlich blockieren)
Um zu überprüfen, ob dies der Grund ist ... tun Sie

ssh -T git@github.com

dies sollte eine Zeitüberschreitung verursachen. Wenn das der Fall ist, verwenden Sie stattdessen das http-Protokoll anstelle von ssh auf diese Weise
Ändern Sie einfach Ihre URL in der Konfigurationsdatei in http.
So geht's:

git config --local -e

ändern Sie den Eintrag von

url = git@github.com:username/repo.git

zu

url = https://github.com/username/repo.git

64voto

Isaque Elcio Punkte 741

Innerhalb des .ssh-Ordners Erstellen Sie die Datei "config"

Host github.com
Benutzer git
Hostname ssh.github.com
BevorzugteAuthentifizierungen publickey
Identitätsdatei ~/.ssh/id_rsa
Port 443

Host gitlab.com
Hostname altssh.gitlab.com
Benutzer git
Port 443
BevorzugteAuthentifizierungen publickey
Identitätsdatei ~/.ssh/id_rsa

51voto

Michaël P Punkte 643

Grundlegendes zur URL-Umschreibung

Git bietet eine Möglichkeit, URLs mithilfe von git config umzuschreiben. Geben Sie einfach den folgenden Befehl ein:

git config --global url."https://".insteadOf git://

Jetzt, als ob es Magie wäre, werden alle git-Befehle eine Substitution von git:// nach https:// durchführen

Quelle: git:// protocol blocked by company, how can I get around that?

20voto

Animesh Singh Punkte 323

Ich stand vor dem gleichen Problem und konnte keine funktionierende Lösung finden. Ich hatte dieses Problem beim Einrichten eines lokalen Servers, und das Git konnte keine Verbindung über mein Proxy-Netzwerk herstellen, während mein Arbeitsplatz es konnte. Dies war die Ausgabe, als ich den Befehl ausführte ssh -vT git@github.com

ubuntu@server:~$ ssh -vT git@github.com
OpenSSH_7.2p2 Ubuntu-4ubuntu2.8, OpenSSL 1.0.2g  1. März 2016
debug1: Lese Konfigurationsdaten /home/ubuntu/.ssh/config
debug1: Lese Konfigurationsdaten /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config Zeile 19: Wende Optionen für *
debug1: Verbindung zu github.com [13.234.176.102] Port 22.

Also habe ich versucht, eine SSH-Verbindung über den HTTPS-Port herzustellen, indem ich die Konfigurationsdatei ~/.ssh/config bearbeitet habe, aber erfolglos.

Host github.com
 Hostname ssh.github.com
 Port 443

Schließlich fand ich diesen Artikel, der das Problem gelöst und aufgedeckt hat.

# github.com
Host github.com
    Hostname ssh.github.com
    ProxyCommand nc -X connect -x : %h %p
    Port 443
    ServerAliveInterval 20
    User git

Dies ist meine Konfigurationsdatei und jetzt funktioniert Git perfekt über SSH!

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