SSH-Tunnel-Generator

SSH-Tunnel-Generator: Befehle für ssh -L, ssh -R und ssh -D mit Jump-Host, Schlüsseldatei und Keepalive erzeugen, dazu den Block für ~/.ssh/config und autossh.

–

 

SSH-Befehl
Eintrag für ~/.ssh/config
Dauerhaft mit autossh

    Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

    Local, Remote und Dynamic Forwarding

    Ein SSH-Tunnel leitet TCP-Verbindungen verschlüsselt durch eine bestehende SSH-Verbindung. Der Generator baut daraus den passenden Befehl und den gleichwertigen Block für die Datei ~/.ssh/config. Beim lokalen SSH Port Forwarding mit ssh -L öffnet Ihr Rechner einen Port, und alles, was dort ankommt, landet über den Server bei einem Ziel, das nur der Server erreicht, typischerweise eine Datenbank auf localhost des Servers. Die Schreibweise lautet -L [bind:]lokalerPort:ziel:zielPort.

    Die Gegenrichtung ist ssh -R: Der Server öffnet einen Port und leitet Verbindungen zurück zu einem Dienst auf Ihrem Rechner oder in Ihrem Netz. Ein solcher Reverse-SSH-Tunnel macht etwa einen Webserver hinter NAT von außen erreichbar, ohne Ports am Router freizugeben. Mit -D entsteht dagegen ein SOCKS-Proxy per SSH: Programme wie der Browser schicken ihre Verbindungen an den lokalen SOCKS-Port, und der Server baut die eigentlichen Verbindungen auf. So surfen Sie im fremden WLAN über Ihren eigenen Server.

    Für Tunnel, die lange laufen sollen, sind -N (kein Befehl, keine Shell), ServerAliveInterval und ExitOnForwardFailure=yes sinnvoll; autossh startet die Verbindung nach Abbrüchen neu. Am Server muss AllowTcpForwarding erlaubt sein, was die Voreinstellung ist. Feste Verbindungsdaten legen Sie bequem mit dem SSH-Config-Generator an, Schlüssel prüfen Sie mit SSH-Schlüssel erklärt.

    Anleitung: SSH-Tunnel in 4 Schritten

    1. Wählen Sie unter „Art der Weiterleitung“ Local (-L), Remote (-R) oder Dynamic (-D).
    2. Tragen Sie SSH-Benutzer, SSH-Server und bei Bedarf den SSH-Port und einen Jump-Host ein.
    3. Geben Sie lokalen Port, Zielhost und Zielport an; bei Dynamic genügt der lokale SOCKS-Port.
    4. Setzen Sie Optionen wie „Nur Tunnel, keine Shell (-N)“ oder „Im Hintergrund (-f)“ und kopieren Sie Befehl oder Config-Block.

    Typische Anwendungsfälle

    • Eine Datenbank lauscht nur auf 127.0.0.1 des Servers; per -L 5432:localhost:5432 erreichen Sie sie vom Laptop aus.
    • Ein Gerät hinter NAT soll von außen erreichbar sein: Ein Reverse-SSH-Tunnel mit -R öffnet einen Port auf einem öffentlichen Server.
    • Im unsicheren WLAN leiten Sie den Browser über einen SOCKS-Proxy per SSH mit -D 1080 durch Ihren eigenen Server.
    • Ein Dauertunnel für Monitoring läuft mit autossh und ServerAliveInterval, damit er nach Verbindungsabbrüchen neu startet.
    Fragen

    Häufige Fragen

    Was ist der Unterschied zwischen ssh -L und ssh -R?

    Bei -L öffnet Ihr Rechner den Port und leitet zum Ziel hinter dem Server. Bei -R öffnet der Server den Port und leitet zurück zu einem Ziel auf Ihrer Seite. Die Richtung bezieht sich darauf, wo der lauschende Port liegt.

    Wie nutze ich den SOCKS-Proxy im Browser?

    Starten Sie zum Beispiel ssh -D 1080 -N user@server und tragen Sie im Browser oder System einen SOCKS5-Proxy mit Host 127.0.0.1 und Port 1080 ein. In Firefox lässt sich zusätzlich festlegen, dass DNS-Anfragen über den Proxy laufen.

    Wie beende ich einen Tunnel, der mit -f im Hintergrund läuft?

    Suchen Sie den Prozess mit pgrep -af "ssh.*-L" oder ps aux | grep ssh und beenden Sie ihn mit kill und der Prozessnummer. Alternativ nutzen Sie ControlMaster und beenden mit ssh -O exit.

    Ist ein SSH-Tunnel ein Ersatz für ein VPN?

    Für einzelne Dienste oft ja. Ein SSH-Tunnel leitet aber nur TCP und nur die eingerichteten Ports weiter. Für ganze Netze, UDP oder viele Geräte ist ein VPN wie WireGuard die bessere Wahl.

    Warum ist mein Remote-Tunnel nur auf localhost des Servers erreichbar?

    Der SSH-Server bindet Remote-Weiterleitungen standardmäßig an die Loopback-Adresse. Damit andere Rechner den Port nutzen können, muss in der sshd_config GatewayPorts yes oder GatewayPorts clientspecified gesetzt sein.

    Brauche ich für Ports unter 1024 Root-Rechte?

    Auf Linux und macOS ja, wenn Sie lokal einen Port unter 1024 öffnen wollen. Nehmen Sie stattdessen einen hohen Port wie 8080 oder 15432; der Zielport auf der Gegenseite darf niedrig sein.

    Weitere Werkzeuge

    Das könnte auch helfen

    Alle 558 Werkzeuge