Ich habe einen Git-Server, der sich hinter einer Firewall befindet. Ich kann von zu Hause aus auf die Firewall zugreifen, aber nicht auf den Git-Server. Ich kann jedoch von der Firewall auf den Git-Server zugreifen (das heißt, ich kann SSH zur Firewall und dann SSH von der Firewall zum Git-Server). Ich versuche, von meiner Heimmaschine auf die Git-Repos zu drücken und zu ziehen, und ich dachte, der SSH-Proxy-Befehl würde es tun. Also habe ich meiner SSH-Konfigurationsdatei folgendes hinzugefügt:
%Vor% Mit diesem Setup kann ich direkt SSH zum Git Server machen, indem ich ssh git_server
mache. Git-Befehle, die mit dem Server kommunizieren müssen, funktionieren jedoch nicht. git remote show origin
schlägt mit der Nachricht fehl:
Die URL des Ursprungsrepo ist
%Vor%Ich denke, ich habe die meisten Dinge an Ort und Stelle, aber vermisse ein kleines entscheidendes Stück. Irgendwelche Hinweise darauf, was ich falsch machen könnte?
Sie verwenden die falsche URL für Ihr Repository. Da Ihre ssh-Konfigurationsdatei einen Hosteintrag für git_server
hat, müssen Sie diesen Hostnamen auch in Ihrer Repository-URL verwenden, da SSH sonst keinen ProxyCommand verwendet.
Die richtige URL sollte entweder
sein %Vor%oder einfach
%Vor% Es ist möglich, wie in " Git-Klon vom Remote-SSH-Repository - den Computer im Remote-Netzwerk vor dem Ausführen des Klonbefehls zu ändern ", dass Sie nicht den Befehl netcat
auf dem Proxy-Server haben.
Sie haben auch eine andere Lösung mit socat
, die mit dem HTTP (S) -Proxy-Server verhandelt Mit der CONNECT-Methode erhalten Sie eine saubere Verbindung zum Server auf der anderen Seite. Siehe socat .
%Vor%Jetzt können Sie einfach sagen (zum Beispiel):