Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

SSH-Tunnel und Port Forwarding

13. 04. 2023 Aktualisiert: 27. 03. 2026 2 Min. Lesezeit intermediate
Dieser Artikel wurde veröffentlicht im Jahr 2023. Einige Informationen können veraltet sein.

SSH-Tunnel ermoeglichen sicheren Zugriff auf entfernte Dienste ueber verschluesselte Verbindungen. Sie nutzen die bestehende SSH-Infrastruktur, erfordern keine zusaetzliche Software und koennen Dienste zugaenglich machen, die sonst nur aus dem internen Netzwerk erreichbar sind. Sie ersetzen praktisch VPNs fuer einfache Szenarien wie den Zugriff auf Datenbanken, Webanwendungen oder Admin-Interfaces hinter einer Firewall.

Local Forwarding

ssh -L 5433:localhost:5432 user@db-server
ssh -L 8080:internal-app:80 user@bastion

Local Forwarding oeffnet einen Port auf Ihrem lokalen Rechner und leitet den Verkehr ueber SSH zum Zielserver. Das erste Beispiel macht PostgreSQL auf dem db-server als localhost:5433 verfuegbar. Das zweite Beispiel stellt eine interne Anwendung ueber einen Bastion-Host bereit. Der Vorteil ist, dass der Zieldienst nicht aus dem Internet erreichbar sein muss — es genuegt, dass der SSH-Server darauf zugreifen kann.

Remote Forwarding

ssh -R 8080:localhost:3000 user@public-server

Remote Forwarding funktioniert umgekehrt — es macht einen lokalen Dienst ueber einen entfernten Server zugaenglich. Typischer Anwendungsfall: Sie haben einen Entwicklungsserver hinter NAT und moechten ihn voruebergehend einem Kollegen ueber einen oeffentlichen Server freigeben. Port 3000 auf Ihrem Rechner wird als Port 8080 auf dem oeffentlichen Server verfuegbar.

Dynamic (SOCKS)

ssh -D 1080 user@ssh-server
curl --socks5 localhost:1080 http://internal.local

Dynamic Forwarding erstellt einen SOCKS-Proxy, ueber den beliebiger Verkehr geleitet werden kann. Ein Browser oder eine Anwendung, die auf SOCKS-Proxy localhost:1080 konfiguriert ist, greift auf das Netzwerk aus der Perspektive des SSH-Servers zu. Nuetzlich fuer den Zugriff auf ein gesamtes internes Netzwerk, ohne fuer jeden Dienst einen separaten Tunnel erstellen zu muessen.

Jump Host

ssh -J bastion user@internal-server
# ~/.ssh/config
Host internal-\*
  ProxyJump bastion

Ein Jump Host (Bastion) dient als Vermittler fuer den Zugriff auf interne Netzwerke. SSH-Konfiguration mit ProxyJump ermoeglicht transparente Verbindungen ueber den Bastion — einfach ssh internal-server und SSH leitet automatisch ueber den Bastion.

Dauerhafte Tunnel

autossh -M 0 -f -N -L 5433:localhost:5432 user@db-server

Fuer den Produktionseinsatz ist autossh unverzichtbar — es startet den Tunnel automatisch bei Verbindungsabbruch neu. Alternativ erstellen Sie eine systemd-Service-Unit fuer einen dauerhaften Tunnel mit automatischem Neustart und Logging.

SSH-Tunnel = Sicherer Zugang

Fuer einfache Szenarien ersetzen SSH-Tunnel VPNs. Fuer komplexere Topologien oder teamweiten Zugriff sollten Sie WireGuard oder Tailscale in Betracht ziehen.

sshtunelyport forwarding
Teilen:

CORE SYSTEMS Team

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.