2014-01-23 4 views
5

Meine Firma verfügt über einen drakonischen Proxy-Server, der mich daran hindert, Server zu entfernen und somit die Verwendung von github zu verhindern. Ich habe am letzten Tag folgenden Beispiele, die im Internet verbrachte, wieSo richten Sie Korkenzieher ein, um über Draconian Proxy mit Github zu verbinden

Aber nichts scheint zu funktionieren. Hier ist meine ~/.ssh/config-Datei:

ProxyCommand /usr/local/bin/corkscrew proxy02.COMPANY_NAME.com 8080 %h %p 

Host github.com 
User git 
Port 22 
Hostname github.com 
IdentityFile "/Users/msnider/.ssh/id_rsa" 
IdentitiesOnly yes 
TCPKeepAlive yes 

Host ssh.github.com 
User git 
Port 443 
Hostname ssh.github.com 
IdentityFile "/Users/msnider/.ssh/id_rsa" 
IdentitiesOnly yes 
TCPKeepAlive yes 

Dies ist die Fehlermeldung erhalte ich, wenn ich versuche zu git pull --rebase:

Proxy could not open connnection to github.com: Forbidden 
ssh_exchange_identification: Connection closed by remote host 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

Ich bekomme die gleiche verboten Fehler, wenn ich versuche nur zu SSH github.com, aber ich kann ssh.github.com ssh, wenn ich meine Identität angeben:

ssh -i ~/.ssh/id_rsa [email protected] 
Hi mattsnider! You've successfully authenticated, but GitHub does not provide shell access. 
Connection to ssh.github.com closed. 

Es gibt keine Authentifizierung an den Proxy-Server zu verbinden, benötigt.

Ich habe auch versucht die http_proxy und https_proxy Umgebungsvariablen:

http_proxy=http://proxy02.COMPANY_NAME.com:8080 
https_proxy=http://proxy02.COMPANY_NAME.com:8080 

Wer auf eine Idee, wie das, was ich falsch mache und wie ich diese Arbeit machen können? Vielen Dank.

Antwort

9

Ich habe es endlich herausgefunden. Der Proxyserver meines Unternehmens blockiert die gesamte Kommunikation auf anderen Ports als 80 und 443. Daher kann ich keine Verbindung mit github auf Port 22 herstellen. Ich dachte, die Beispiele, die ich im Web gefunden habe, sollten die Kommunikation von 22 auf 443 ändern, tun dies aber nicht.

Das Problem ist mit diesem Abschnitt des Codes aus den alle Web-Beispiele:

Host github.com 
User git 
Port 22 
Hostname github.com 
IdentityFile "/Users/msnider/.ssh/id_rsa" 
IdentitiesOnly yes 
TCPKeepAlive yes 

Dies sagt, wenn sie github.com vom Proxy-Server verwenden den Hostnamen github.com und Port 22 verbindet, die blockiert durch meinen Stellvertreter. Durch die Änderung der github.com Definition:

Host github.com 
User git 
Port 443 
Hostname ssh.github.com 
IdentityFile "/Users/msnider/.ssh/id_rsa" 
IdentitiesOnly yes 
TCPKeepAlive yes 

kann ich endlich auf Github verbinden.

Verwandte Themen