2013-03-23 18 views
56

Ich bin unter einem Proxy und ich dränge mich für eine ganze Weile erfolgreich git.
Jetzt bin ich nicht in der Lage, plötzlich in git zu pushen.
Ich habe den RSA-Schlüssel und den Proxy eingestellt und überprüft sie, ohne Erfolg und git wirft mir den Fehler im Titel der Seite angezeigt.ssh: Verbindung mit Host github.com Port 22: Verbindung mit Zeitüberschreitung

+0

Erstellen Sie einen Hotspot auf Ihrem mobilen Gerät, verbinden Sie sich über Ihr mobiles Gerät, dann 'git push'. Arbeitete für mich. – zundi

Antwort

113

Der Grund dafür könnte die Firewall Modifikation sein, wie Sie unter einem Netzwerk befinden. (In diesem Fall werden sie absichtlich einige Ports blockieren können)
überprüfen zu verdoppeln, wenn dies der Grund ist ... tun

ssh -T [email protected] 

Dies sollte Timeout sein. Wenn das der Fall ist, verwenden HTTP-Protokoll anstelle von SSH auf diese Weise
ändern Sie einfach Ihre URL in der Konfigurationsdatei auf http. Hier ist
wie: -

git config --local -e 

Änderungseintrag von

url = [email protected]:username/repo.git 

zu

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

Das eigentliche Format für einen HTTPS-Repo-URI ist 'https: // github.com/username/repo.git' nicht' https: // pboone @ github.com/username/repo.git' – lantrix

+0

@lantrix wahr das! –

+2

Ich hatte dieses Problem einmal, aber Neustart meines Computers löste es. –

26

Grund URL Rewriting

Git eine Möglichkeit bietet, URLs mit Git Config neu zu schreiben. Ausgabe einfach den folgenden Befehl ein:

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

Nun, wie von Zauberhand alle git Befehle eine Substitution von git://-https://

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

+0

Vielen Dank! Unseres war während der Jenkins-Erstellung, so dass ich die Git-Datei nicht manuell bearbeiten konnte (ich habe keine git-Zugangsdaten für den jenkins-Account) - das war sehr nützlich. – Phil

+0

Das ist großartig. Ich habe git Aliase für jeden hinzugefügt, um einfach zu wechseln – lfender6445

+3

Über github sollte der Befehl lauten: 'git config --global url." Https://github.com/ ".insteadOf [email protected]:'. Beachten Sie die Unterschiede: '@' wird zu '//' und ':' wird zu '/'. – Frodon

2

Execute:

nc -v -z <git-repository> <port> 

Ihre Ausgabe sollte gleich aussehen e:

"Connection to <git-repository> <port> port [tcp/*] succeeded!" 

Wenn Sie erhalten:

connect to <git-repository> <port> (tcp) failed: Connection timed out 

Sie benötigen ~/.ssh/config-Datei zu bearbeiten. Fügen Sie so etwas wie die folgenden:

Host example.com 
Port 1234 
0

ich das gleiche Problem hatte, aber die Antwort fand ich war anders, dachte, jemand in dieser Frage kommen könnte, also hier ist meine Lösung.

Ich hatte 2 IPs für Port 22 auf die weiße Liste, 80, 443 und 9418:

  • 192.30.252.0/22

  • 185.199.108.0/22

Bei

diese IP-Adressen funktionieren nicht Es könnte sein, dass sie am neuesten Stand sind Miete einen auf this page.

Verwandte Themen