Die Datei ~/.ssh/config (oder ssh-config) vereinfacht SSH-Verbindungen: Statt langer Kommandos mit vielen Optionen genügt ein kurzer Alias. Die Konfigurationsdatei wird vom OpenSSH-Client automatisch gelesen und fasst Host-Aliase, Benutzernamen, Schlüsseldateien, Sprungserver und Zeitüberschreitungen an einer Stelle zusammen.
Grundstruktur
Host web
HostName server.example.com
User benutzer
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
Mit Host web wird ein Alias definiert — ssh web verbindet dann zu server.example.com als benutzer mit dem angegebenen Schlüssel. ServerAliveInterval sendet regelmäßig Keepalive-Pakete, damit die Verbindung bei längerer Inaktivität nicht abbricht. Es gibt kein ssh-config-Programm — die Bezeichnung steht für die Konfigurationsdatei des SSH-Clients.
Häufige Anweisungen
HostName— Zieladresse (Domain oder IP) hinter dem AliasUser— Benutzername auf dem ZielsystemIdentityFile— privater Schlüssel für diese Verbindung (z.B.~/.ssh/id_ed25519)ProxyJump— Sprung über einen Zwischenserver:ProxyJumpDiese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein. Port— abweichender SSH-Port (Standard: 22)ForwardAgent/ForwardX11— Agent- bzw. X11-Weiterleitung aktivierenControlMaster/ControlPersist— Verbindungs-Wiederverwendung (eine Verbindung, viele Fenster)
Platzhalter und Include
Host * gilt für alle Verbindungen und eignet sich für globale Vorgaben (z.B. ServerAliveInterval). Mit Include ~/.ssh/config.d/* lassen sich mehrere Konfigurationsdateien einbinden. Der Befehl ssh -G web zeigt die aufgelöste Konfiguration für einen Alias — praktisch zum Debuggen.
Praxis-Tipps
- Bei mehreren Servern mit ähnlichen Einstellungen Platzhalter nutzen:
Host server*. - Vor dem Einsatz von SSH-Agent und
ForwardAgentan die Risiken des Agent Forwarding denken (Sprungserver-Ketten). - Für Sprungserver-Ketten ist
ProxyJumpdie sichere Alternative zum Agent Forwarding. - Die Datei gehört dem eigenen Benutzer (Berechtigung 600) — sie enthält sensible Zugangsdaten. Die dort referenzierten Schlüsselpaare stammen von SSH-Keys.
Verwandte Grundlagen: SSH, ssh-keygen und ssh-copy-id. Den Zugriff auf mehrere Server erleichtert die ssh-, scp- und rsync-Befehle-Referenz.