SSH-Konfiguration im Home-Verzeichnis Verbindungsaufrufe per Alias straffen

Von Thomas Joos 2 min Lesedauer

Anbieter zum Thema

Administratoren mit SSH-Zugriff auf viele Server hängen am Prompt eine Kette aus Optionen an, also Benutzer, Port, Schlüsseldatei und Hostname. Die Datei "~/.ssh/config" bündelt die Werte pro Zielsystem und ersetzt den langen Aufruf durch einen kurzen Alias.

SSH-Konfiguration im Home-Verzeichnis(Bild:  Thomas Joos)
SSH-Konfiguration im Home-Verzeichnis
(Bild: Thomas Joos)

SSH gilt als Standardprotokoll für administrative Zugriffe auf Linux-Server, Netzwerkgeräte und Container-Hosts. In gewachsenen Umgebungen unterscheiden sich die Zielsysteme bei Benutzernamen, Portnummern und Schlüsselpaaren. Der OpenSSH-Client liest vor jedem Verbindungsaufbau die Datei "~/.ssh/config" im Home-Verzeichnis ein und übernimmt die dort hinterlegten Optionen. Damit pflegen Administratoren Sammeleinträge, anstatt jede Verbindung mit einer langen Parameterkette aufzurufen.

Grundgerüst der Konfigurationsdatei

Jeder Block beginnt mit dem Schlüsselwort "Host" und einem frei wählbaren Alias. Darunter folgen eingerückt die Direktiven, also "HostName" für IP oder DNS-Name, "User" für die Anmeldekennung, "Port" für einen abweichenden TCP-Port und "IdentityFile" für den Pfad zum privaten Schlüssel. Ein Eintrag für einen produktiven Webserver:

Host srv-prod-12

HostName 10.42.18.7

User ops

Port 2244

IdentityFile ~/.ssh/id_ed25519_prod

Künftig reicht das Kommando:

ssh srv-prod-12

OpenSSH löst den Alias auf, baut die Verbindung zu 10.42.18.7 über Port 2244 auf und reicht den passenden privaten Schlüssel an die Authentifizierung weiter. Bei häufigem Zugriff auf denselben Host vermeiden Administratoren so Tippfehler bei IP-Adresse und Port, denn die Werte werden nur an einer Stelle gepflegt.

Erweiterte Optionen für komplexe Topologien

Die Konfigurationsdatei kennt mehr als zwei Dutzend Direktiven. "ForwardAgent yes" reicht den lokalen SSH-Agent an den Zielhost weiter und ermöglicht damit Sprünge auf weitere Server ohne erneute Schlüsselauthentifizierung. "ProxyJump" kettet eine Verbindung über einen Bastion-Host. Statt zwei separater Aufrufe genügt ein einziges Kommando, das die Zwischenstation transparent durchläuft. "ServerAliveInterval" hält die Sitzung am Leben, indem der Client in regelmäßigen Abständen ein Keepalive-Paket sendet. Bei restriktiven Firewalls oder instabilen WAN-Strecken bleibt die Verbindung damit länger bestehen.

Ein Eintrag mit Bastion-Host und Keepalive sieht so aus:

Host db-int-04

HostName 10.42.99.21

User ops

ProxyJump bastion.example.net

IdentityFile ~/.ssh/id_ed25519_db

ServerAliveInterval 60

Sicherheitsoptionen zentral festlegen

Die config-Datei strafft nicht nur die Aufrufe, sie hilft auch beim Härten der Verbindungen. Mit "PreferredAuthentications publickey" akzeptiert der Client für den jeweiligen Host nur Schlüssel-basierte Anmeldungen. "PasswordAuthentication no" schließt das Passwortverfahren für den Eintrag aus. "IdentitiesOnly yes" erzwingt, dass ausschließlich der unter "IdentityFile" angegebene Schlüssel zur Authentifizierung herangezogen wird, auch wenn der Agent weitere Identitäten kennt. Die drei Direktiven verhindern, dass der Client falsche Schlüssel an einen Server schickt, was bei strikt protokollierenden Hosts nach wenigen Fehlversuchen zu Sperren führen kann.

Skalierung in größeren Infrastrukturen

Mit "Host *" am Ende der Datei greifen globale Vorgaben für alle Verbindungen, die kein spezifischerer Eintrag überschreibt. Wildcards in der Form "Host db-*" wirken bei mehreren Datenbankservern, ohne dass jeder Host einzeln gepflegt sein muss. Die Direktive "Include ~/.ssh/config.d/*" bindet zusätzliche Dateien ein und ermöglicht eine Trennung nach Mandanten, Projekten oder Umgebungen. Bei hundert oder mehr Zielhosts pflegen Administratoren die Datei so modular, ohne dass eine unübersichtliche Sammlung daraus wird.

Eine geordnete SSH-Konfiguration senkt die Fehlerquote bei Routinezugriffen und hält Verbindungsparameter dokumentiert vor. Eine Änderung an Ports, Schlüsseln oder Benutzernamen reicht an einer Stelle aus und greift sofort für alle nachfolgenden Sitzungen.

(ID:50832921)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung