===== SSH-Tunnel =====
==== Beschreibung ====
Mit einem SSH-Tunnel kann man Netzwerkverbindungen sicher durch einen verschlüsselten SSH-Kanal leiten. Das ist nützlich, um Dienste auf entfernten Servern abzusichern oder Firewalls zu umgehen.
==== Lokales Port-Forwarding ====
Beim lokalen Port-Forwarding wird ein lokaler Port auf einen Port eines Zielservers weitergeleitet.
ssh -L :: @
Beispiel: Zugriff auf eine entfernte MySQL-Datenbank (Port 3306) über einen SSH-Tunnel:
ssh -L 3306:localhost:3306 user@remote-server
Danach kann man lokal auf `localhost:3306` zugreifen, als wäre die Datenbank lokal.
==== Verbindung zum Zielserver über den Tunnel ====
Nach Aufbau des Tunnels kann man sich mit dem gewünschten Dienst verbinden, z.B.:
mysql -h 127.0.0.1 -P 3306 -u dbuser -p
==== Weiteres Beispiel: HTTP-Dienst tunneln ====
ssh -L 8080:intranet.example.com:80 user@ssh-gateway
Danach im Browser: http://localhost:8080
==== Remote Port-Forwarding ====
Auch umgekehrt möglich:
ssh -R :: @
==== Weitere Informationen ====
man ssh