Ich versuche, ein Projekt Vagrant-artig zu gestalten, um die Abhängigkeitseinrichtung für meine Benutzer zu vereinfachen. Eine der Abhängigkeiten ist ein SSH-Tunnel von Port A auf Host B zu Port C unter Verwendung der SSH- -L
Option.
Ich kann den Tunnelbefehl erfolgreich ssh -L <A>:<B>:<C>
auf meinem Hostcomputer verwenden und möchte dies auch in einer Vagrant-VM tun können.
Ich habe Vagrant bereits erfolgreich für die SSH-Agent-Weiterleitung konfiguriert, um die SSH-Schlüssel des Hosts zur Authentifizierung bei privaten Git-Repositorys zu verwenden. Aber hier bin ich mit meinen Kenntnissen über SSH und Vagrant am Ende angelangt, wenn es um die Agent-Weiterleitung des Tunnels geht. Ist so etwas überhaupt möglich?
Antwort1
Es stellte sich heraus, dass die Schlüssel weitergeleitet wurden, aber SSH den Benutzernamen anstelle des Host-Benutzernamens verwendete vagrant
. Als ich den Benutzernamen korrigierte, funktionierte das SSH-Tunneling in Vagrant.
Antwort2
Sie sagen nicht, ob der Tunnel vom Host zum Gast oder umgekehrt erstellt werden soll, wo sich befindet B
und warum Sie nicht direkt darauf zugreifen können …
Wenn Sie einen Tunnel von einigen Schnittstellen des Hosts zum Gast erstellen möchten, können Sie Vagrants eingebautesPort-WeiterleitungOder fügen Sie einfach hinzuprivate Netzwerkadressezur VM.
Wenn Sie einen Tunnel vom Gast über den Host erhalten möchten, verwenden Sie ssh -R
anstelle ssh -L
von vom Host. In den meisten Fällen können Sie jedoch direkt von der VM aus eine Verbindung zum Ziel herstellen.