Manchmal braucht es nur einen guten Vortrag, um jahrelange schlechte Gewohnheiten loszuwerden. Bei mir war es gleich ein Doppelschlag: Auf der GPN24 hat mich Leyrers starker Vortrag Besser Tunneln mit SSH so begeistert, dass ich mir gleich noch den Vorgänger Besser leben mit SSH angeschaut habe. Und siehe da: Besser leben – das geht tatsächlich.
Die Entdeckung: ~/.ssh/config
Ich gebe es zu: Bis dahin hatte ich die Datei ~/.ssh/config schlicht nicht auf dem Schirm. Dabei ist sie ein kleines Wundermittel. Statt jedes Mal umständlich
ssh user@demo.server.de
zu tippen – gefolgt von der obligatorischen Passwortabfrage – reicht plötzlich ein knackiges
ssh demo
Fertig. Eingeloggt. Kaffee noch warm.
So bin ich vorgegangen
Der Weg dahin war erfreulich unspektakulär:
- Die config-Datei angelegt
- Einen Host mit zwei Aliases hinzugefügt
- Den Usernamen eingetragen
- SSH-Schlüssel generiert und per
ssh-copy-idauf den Server übertragen - In der config das
IdentityFileergänzt - Per
ssh-adddem ssh-agent das Passwort des Schlüssels mitgegeben
Und schon war das komfortable Einloggen per ssh demo Realität.
Der letzte Feinschliff: tmux gleich mitstarten
Eine Sache störte mich dann doch noch: Auf bestimmten Servern ist mein erster Befehl nach dem Login immer derselbe – tmux attach. Warum also nicht auch das automatisieren? Auch dafür hat die config eine Antwort. Hier ein Beispiel, wie so ein Eintrag bei mir inzwischen aussieht:
Host pve proxmox
HostName pve.example.com
User datenschauer
IdentityFile /home/datenschauer/.ssh/pve_id_ed25519
RequestTTY yes
RemoteCommand tmux attach || tmux new-session
Das RemoteCommand hängt mich direkt an eine bestehende tmux-Session – und falls keine läuft, wird einfach eine neue gestartet. RequestTTY yes sorgt dafür, dass das Ganze auch interaktiv funktioniert.
Fazit
Zwei Vorträge, eine config-Datei, null Reue. Wer SSH täglich nutzt und die ~/.ssh/config noch nicht kennt: unbedingt anschauen. Es ist eine dieser kleinen Quality-of-Life-Verbesserungen, bei denen man sich hinterher fragt, wie man je ohne ausgekommen ist.