Frage an git, proxy – Wie verwende ich den SSH-Tunnel, um das Git-Protokoll weiterzuleiten? [geschlossen]

2

Ich weiß, dass ähnliche Fragen oft gestellt wurden. Aber alles, was ich finden kann, sind Antworten zum Einrichten eines Proxys für http- oder ssh-Protokolle. Hier ist die Situation. Aus irgendeinem Grund erlaubt das Git-Repository auf gitorious, das ich klonen muss, weder http noch ssh. Wenn ich "git clone" benutzehttp://gitorious.org/.... "Ich habe" ... / refs nicht gefunden: hast du git update-server-info auf dem Server ausgeführt? "Fehler. Wenn ich" git clone "verwende ssh: //[email protected]/ .. . ", Ich bekam" fatal: Das Remote-Ende hat unerwartet aufgelegt "Fehler. (Wahrscheinlich sollte ich android" repo "für dieses Problem verantwortlich machen, da ich Git-Klone direkt ausführen kann, aber nicht durch" repo sync " Tests werden alle ohne Firewall durchgeführt.)

Meine Frage ist also, wie man einen SSH-Tunnel einrichtet, um das Git-Protokoll hinter einer Firewall zu verwenden. Insbesondere muss ich "git clone git: //gitorious.org / ..." (nicht ssh: //, nicht http: //) hinter der Firewall ausführen. Vielen Dank!

Deine Antwort

1   die antwort
3

Dasgit:// Das Protokoll wird auf Port 9418 ausgeführt (dokumentiert in dergit-daemon man page oder rungit daemon --help). Um dies über einen SSH-Tunnel weiterzuleiten, würden Sie folgendermaßen vorgehen:

ssh -L 9418:gitorious.org:9418 your.remote.host

Einmal verbunden, würden Sie ein Remote-Repository wie folgt klonen:

git clone git://localhost/path/to/repository.git

Damit dies funktioniert, benötigen Sie offensichtlich eine Maschine außerhalb Ihrer Firewall, die das Ziel des Befehls ssh ist.

Danke für die Antwort. Das hat funktioniert. ddwalker
Außerdem können Sie "127.0.0.1 gitorious.org" in / etc / hosts ablegen. Dann können Sie mit dem ssh-Tunnel git clone to "git: //gitorious.org/" anstelle von "git: // localhost /". Natürlich hat diese Methode systemweite Auswirkungen und sollte mit Vorsicht angewendet werden. ddwalker
Kannst du ein Beispiel dafür geben?git://localhost/path/to/repository.git vielleicht mit einem gemeinsamen Repo wie jquery? lfender6445
Das jquery-Repository lautet git: //github.com/jquery/jquery.git. Unter Verwendung der obigen Konfiguration würden Sie also git: //localhost/jquery/jquery.git verwenden, vorausgesetzt, Sie haben den Port 9418 lokal für die Weiterleitung an github eingerichtet. larsks

Verwandte Fragen