Im neuesten unserer "nur die Beispiele" Stellen Sie sich vor, Sie befinden sich in einem Szenario, in dem Sie auf einem Server, auf den Sie nicht direkt zugreifen können, eine SSH-Verbindung zu einem Server herstellen (oder sogar eine Webseite durchsuchen usw.) möchten. Sie haben jedoch von Ihrer Box (localhost) aus Zugriff auf einen Server (server1), der sich mit diesem Server verbinden kann (nennen wir diesen Server2).
Hier ist, wie man diesen Scheiß per SSH tunnelt!
Nehmen wir an, dass Ihr Benutzername bob ist, aber das einzige Konto, auf das Sie auf dem entfernten Host (server2) Zugriff haben, heißt tom, nur um der Klarheit willen.
Tunnel von localhost
zu server1
und von localhost
zu server2
:
ssh -L 9998:tom@server2:22 -N bob@server1
ssh -p 9998 tom@localhost
Wenn Sie sich in der ersten Zeile bei Server 1 anmelden, werden Sie feststellen, dass er einfach dort sitzt und hängt. Das liegt daran, dass es den Tunnel eingerichtet hat. Drücken Sie einfach ctrl+z
und geben Sie ‘bg
ein ‘, um den ssh-Prozess in den Hintergrund zu schalten, bevor Sie mit ssh durch den Tunnel weitergehen.
Wenn Sie es supersicher wollen, brauchen Sie einen zusätzlichen Rahmen:Dieses Beispiel öffnet einen Tunnel von localhost zu server1, über den der SSH-Dienst auf server2 verwendet werden kann. Dann wird ein zweiter Tunnel von localhost
geöffnet zu host2
durch den ersten Tunnel.
ssh -L 9998:tom@server2:22 -N bob@server1
ssh -L 9999:tom@localhost:1234 -N -p 9998 localhost
Hier ist ein toller Link mit weiteren Beispielen und Erklärungen:
http://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html