SSH Proxy — Beispiele
Konkrete SSH-Proxy-Durchläufe: Datenbank-Tunnel, lokalen Dev-Server exponieren, SOCKS-Proxy, Jump Host, ~/.ssh/config und ein Tunnel als systemd-Dienst.
Zurück zur Übersicht: SSH Proxy · Tool live öffnen: www.jpkc.com/tools/ssh-proxy/
Diese Seite zeigt SSH Proxy an konkreten Durchläufen. Hosts, Benutzer und Ports sind Beispiele — setze deine eigenen Werte ein. Wie die einzelnen Felder und Optionen genau arbeiten, steht im Manual. Denk daran: Das Tool baut nur die Befehle; ausgeführt werden sie in deinem eigenen Terminal.
Beispiel 1: Auf eine entfernte Datenbank zugreifen
Ziel: eine MySQL-Datenbank, die nur lokal auf dem Server lauscht, von deinem Rechner aus erreichen.
- Den Eintrag Local Forward wählen.
- SSH Host =
db-server.example.com, SSH User =deploy, SSH Port =22. - In der Tabelle Port Forwards: Local Bind
127.0.0.1, Local Port3306, Remote Host127.0.0.1, Remote Port3306. - Background und KeepAlive an lassen, Generate klicken.
Ergebnis: ein Bash-Skript mit einem Aufruf wie
ssh \
-L 127.0.0.1:3306:127.0.0.1:3306 \
-f \
-N \
-o ServerAliveInterval=60 \
-o ServerAliveCountMax=3 \
deploy@db-server.example.comNach dem Start verbindest du deinen DB-Client einfach mit 127.0.0.1:3306 — als liefe die Datenbank lokal. Die Erklärungs-Tabelle schlüsselt jede Flag auf. Läuft der Port lokal schon, kollidiert die Weiterleitung; wähle dann einen freien lokalen Port, etwa 13306.
Beispiel 2: Den lokalen Dev-Server nach außen geben
Ziel: deinen lokal laufenden Webserver (localhost:3000) für einen entfernten Server erreichbar machen, z. B. für einen Webhook-Test.
- Remote Forward wählen.
- SSH Host =
public.example.com, SSH User =tunnel. - Tabelle: Remote Bind
0.0.0.0, Remote Port8080, Local Host127.0.0.1, Local Port3000. - Den Schalter GatewayPorts anhaken (du willst, dass der Port von außen erreichbar ist).
- Generate.
Ergebnis: ein ssh -R 0.0.0.0:8080:127.0.0.1:3000-Aufruf — plus ein deutlicher Kommentarblock, der daran erinnert, dass der SSH-Server GatewayPorts clientspecified in /etc/ssh/sshd_config braucht und danach neu gestartet werden muss. Ohne diese Server-Einstellung bindet der Tunnel nur an 127.0.0.1 des Servers, nicht an 0.0.0.0.
Beispiel 3: SOCKS5-Proxy zum Surfen über einen Server
Ziel: den Browser-Verkehr durch einen entfernten Server leiten.
- Dynamic / SOCKS wählen.
- SSH Host =
gateway.example.com, SSH User =me. - Bind Address
127.0.0.1, SOCKS Port1080. - Compression zusätzlich anhaken (langsame Leitung), Generate.
Ergebnis: ssh -D 127.0.0.1:1080 -f -N -C … me@gateway.example.com, dazu fertige Test-Befehle wie curl --socks5-hostname 127.0.0.1:1080 https://ifconfig.me. Konfiguriere anschließend deine Anwendung auf den SOCKS5-Proxy 127.0.0.1:1080. Bequem geht das über den Proxy Settings-Generator (siehe Beispiel 6 weiter unten ist optional) — wichtig: in Firefox network.proxy.socks_remote_dns = true setzen, sonst lecken DNS-Anfragen am Proxy vorbei.
Beispiel 4: Über einen Bastion-Host ins interne Netz
Ziel: einen internen Server erreichen, der nur über einen Jump-Host zugänglich ist.
- Jump Host wählen, Mode = Modern (-J / ProxyJump).
- In der Tabelle Jump Chain: Host
bastion.example.com, Port22, Userjumpuser. - Final Destination Host =
internal.example.com, Destination User =admin. - Generate.
Ergebnis:
ssh \
-J jumpuser@bastion.example.com \
-o ServerAliveInterval=60 \
admin@internal.example.comBrauchst du eine zweite Zwischenstation, klickst du Add Jump und ergänzt die Zeile — -J nimmt mehrere, durch Komma getrennte Hops auf. Auf sehr alten Servern (vor OpenSSH 7.3) wählst du stattdessen Legacy (ProxyCommand); bei mehreren Hops gibt das Tool dann verkettete ~/.ssh/config-Blöcke aus.
Beispiel 5: Einen wiederkehrenden Tunnel in ~/.ssh/config gießen
Ziel: nicht jedes Mal den langen Befehl tippen, sondern ssh meinserver genügen lassen.
- SSH Config wählen.
- Host Alias =
meinserver, HostName =db-server.example.com, User =deploy. - IdentityFile =
~/.ssh/id_ed25519. - In der Forward-Tabelle: Type
L, Bind:Port127.0.0.1:3306, Target:Port127.0.0.1:3306. - Generate.
Ergebnis: ein fertiger Block zum Anhängen an ~/.ssh/config:
Host meinserver
HostName db-server.example.com
User deploy
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
ServerAliveCountMax 3
ExitOnForwardFailure yes
LocalForward 127.0.0.1:3306 127.0.0.1:3306
# Usage: ssh meinserverDanach reicht ssh meinserver, und die Weiterleitung steht automatisch. Mit Copy in die Zwischenablage, dann unten an deine Config anhängen.
Beispiel 6: Einen Tunnel als systemd-Dienst beim Booten starten
Ziel: einen Datenbank-Tunnel dauerhaft als Dienst laufen lassen, der nach einem Neustart von selbst wieder hochkommt.
- Autostart Setup wählen, Autostart Method = systemd (Linux).
- SSH Host =
db-server.example.com, SSH User =deploy, Identity File =~/.ssh/id_ed25519. - Tunnel Type =
Local (-L), Forward Spec =3306:127.0.0.1:3306. - Service Name =
db-tunnel, Run as User = dein Benutzername. - Generate.
Ergebnis: zwei Tabs. tunnel.sh enthält das Start-Skript; db-tunnel.service enthält eine systemd-Unit mit Restart=always und RestartSec=10 samt eingebauter Installationsanleitung in den Kommentaren (sudo cp …, daemon-reload, enable --now). Den Service-Tab kopierst du nach /etc/systemd/system/db-tunnel.service und aktivierst ihn — der Tunnel überlebt dann Neustarts und Abbrüche. Brauchst du mehrere Tunnel zentral verwaltet, ist stattdessen der Management Script-Generator die bessere Wahl.
Mehr zu den einzelnen Generatoren steht im Manual, strategische Hinweise und Stolperfallen in den Tipps & Tricks. Direkt loslegen kannst du im Tool.