SSH bequemer machen – ~/.ssh/config und Port-Tunnel
Statt jedes Mal die lange ssh-Zeile zu tippen, hinterlegst du deine Server einmal in ~/.ssh/config. Und mit einem Port-Tunnel erreichst du eine entfernte Datenbank lokal, als liefe sie auf deinem Rechner. Zwei Dinge, die ich täglich nutze.
Wer viel mit Servern arbeitet, tippt sonst ständig dieselbe lange ssh-Zeile. Zwei SSH-Kniffe sparen mir jeden Tag Zeit: eine config-Datei und Port-Tunnel.
Server einmal hinterlegen: ~/.ssh/config
Statt ssh -p 2222 michael@203.0.113.10 legst du einen Kurznamen an:
# ~/.ssh/config
Host meinserver
HostName 203.0.113.10
User michael
Port 2222
IdentityFile ~/.ssh/id_ed25519Danach reicht:
ssh meinserverDas gilt auch für scp und rsync – scp datei.txt meinserver:/var/www/ funktioniert sofort. Mehrere Server? Einfach mehrere Host-Blöcke untereinander.
Port-Tunnel: entfernte Datenbank lokal erreichen
Der Klassiker: Auf dem Server läuft eine Datenbank (z. B. PostgreSQL auf Port 5432), die von außen nicht erreichbar ist – aus gutem Grund. Mit einem Tunnel leitest du sie über die SSH-Verbindung auf deinen lokalen Rechner:
ssh -L 5433:localhost:5432 meinserverSolange diese Verbindung offen ist, erreichst du die entfernte Datenbank unter localhost:5433 auf deinem Rechner – als liefe sie lokal. Perfekt, um mit einem GUI-Tool draufzuschauen, ohne die Datenbank ins offene Netz zu stellen.
Das -L liest sich als: lokaler Port 5433 → über den Server → dessen localhost:5432.
Tunnel im Hintergrund
Willst du nur den Tunnel, ohne eine Shell auf dem Server:
ssh -fN -L 5433:localhost:5432 meinserver-f schickt es in den Hintergrund, -N sagt „führe kein Kommando aus, nur der Tunnel". Beenden kannst du ihn später über ps/kill oder indem du das Terminal schließt.
Mit der config sparst du dir das Tippen, mit -L erreichst du interne Dienste sicher. Beides gehört für mich zur Grundausstattung.
Wenn du Hilfe bei Server-Setup, Deploy oder sicherer Datenbank-Anbindung brauchst, unterstütze ich dich – meld dich über bymw.de.
Quellen
Du brauchst mehr als ein Snippet?
Ich entwickle Android-Apps in Kotlin und moderne Websites für Selbstständige und kleine Unternehmen — von der ersten Idee bis zum Release.
Projekt anfragen →Verwandte Snippets
Zwei Listen vergleichen mit comm – wer fehlt, wer ist neu, wer ist in beiden
Welche Dateien fehlen im Backup? Welche Kunden aus der alten Liste stehen nicht in der neuen? Für genau diese Fragen gibt es seit Unix-Urzeiten ein Werkzeug, das kaum jemand kennt – comm vergleicht zwei sortierte Listen und sagt dir in einer Zeile, was nur links, nur rechts oder in beiden steht.
Warum deine Zählvariable nach der Schleife wieder 0 ist – Prozess-Substitution in Bash
Ein Klassiker, der jeden einmal erwischt: Du zählst in einer while-Schleife hoch, und hinterher steht die Variable trotzdem auf 0. Schuld ist eine Subshell hinter der Pipe. Mit Prozess-Substitution behältst du das Ergebnis – und kannst nebenbei zwei Befehle direkt vergleichen.
Pfade und Namen zerlegen — ganz ohne basename, dirname und sed
Die Shell kann Zeichenketten selbst zerschneiden. Kein Aufruf eines externen Programms, keine Pipe – nur geschweifte Klammern. Wenn du das einmal kennst, werden deine Skripte kürzer und deutlich schneller.