In meinem letzten Beitrag habe ich die Grundlagen des ssh-Befehls und nützliche Optionen erläutert. Doch jedes Mal die komplexen IP‑Adressen, Benutzernamen und Portnummern manuell einzugeben, ist wirklich lästig.
Hier kommt die SSH‑Config‑Datei ins Spiel – sie löst all diese Mühen auf einmal. Ähnlich wie ein Lesezeichen speichert sie häufig genutzte Serververbindungen und ermöglicht den Zugriff über einen einfachen Alias.
Ich selbst war in der Anfangsphase, als ich die Existenz der Config-Datei nicht kannte, und habe oft die komplette Befehlszeile in meine .bashrc als Alias eingefügt. Erst als ich die Config-Datei erstellte, wurde mir bewusst, wie simpel und effizient die Lösung ist.

Was ist die SSH‑Config‑Datei?
Die SSH‑Config‑Datei ist eine Konfigurationsdatei, die das Verhalten des SSH‑Clients definiert. Wenn Sie Verbindungsinformationen (Benutzername, Port, Schlüsseldatei usw.) für einen bestimmten Host vorab speichern, können Sie später nur noch einen kurzen Alias verwenden.
- Ort: Normalerweise befindet sich die Datei im
.ssh‑Verzeichnis Ihres Home‑Verzeichnisses alsconfig. Wenn Sie SSH gerade erst installiert haben, existiert sie möglicherweise nicht – dann müssen Sie sie erstellen. - Datei erstellen: Falls
~/.ssh/confignicht existiert, können Sie sie einfach anlegen. Setzen Sie die Berechtigungen unbedingt auf 600.
touch ~/.ssh/config
chmod 600 ~/.ssh/config # Sicherheit: Berechtigungen sind Pflicht!
Regeln zum Schreiben der Config‑Datei
Die Config‑Datei ist eine einfache Textdatei, in der jede Host‑Konfiguration mit dem Schlüsselwort Host beginnt und in einem Block geschrieben wird.
Grundstruktur
Host [Alias]
[Option1] [Wert1]
[Option2] [Wert2]
...
Host [Alias]: Kennzeichnet den Beginn eines Blocks und definiert den Alias, den Sie später insshverwenden. Statt eines Alias können Sie auch die tatsächliche Hostadresse (IP oder Domain) angeben. Wildcards (*,?) sind ebenfalls möglich.- Einrückung: Die Optionen unter
Hostmüssen eingerückt werden. Leerzeichen oder Tabs sind erlaubt, aber Konsistenz ist empfehlenswert. - Optionen: Unter
Hostlisten Sie die SSH‑Optionen auf, die bei der Verbindung mit diesem Alias gelten. Diese Optionen entsprechen denen, die Sie zuvor mitssh -Optionverwendet haben.
Häufig verwendete Optionen
| Option | Beschreibung | Beispielwert |
HostName |
Die IP‑Adresse oder Domain des Zielservers | 192.168.1.100 oder example.com |
User |
Der Benutzername auf dem Remote‑Server | ubuntu, ec2-user, root |
Port |
Der SSH‑Port des Remote‑Servers (Standard 22) | 2222 |
IdentityFile |
Pfad zur privaten Schlüsseldatei | ~/.ssh/id_ed25519_myserver |
ForwardAgent |
SSH‑Agent‑Weiterleitung aktivieren | yes |
StrictHostKeyChecking |
Strenge Host‑Key‑Prüfung (yes empfohlen) |
no (nur für erste Tests) |
PortForwarding |
Port‑Weiterleitung erlauben | yes |
LocalForward |
Lokale Port‑Weiterleitung (-L‑Option) |
8080 localhost:80 |
ServerAliveInterval |
Intervall zur Überprüfung, ob der Server aktiv ist (Sekunden) | 60 |
ServerAliveCountMax |
Anzahl der fehlgeschlagenen Versuche vor Trennung | 3 |
Beispiel für das Schreiben einer SSH‑Config
Fügen wir einige häufig genutzte Server in die Datei ~/.ssh/config ein.
# Erster Server: Webserver (Alias: webserver)
Host webserver
HostName 192.168.1.100
User ubuntu
Port 2222
IdentityFile ~/.ssh/id_ed25519_webserver # spezieller Schlüssel für den Webserver
# Zweiter Server: Entwicklungsserver (Alias: devbox)
Host devbox
HostName dev.example.com
User developer
IdentityFile ~/.ssh/id_rsa_dev # RSA‑Schlüssel
# Lokale Port‑Weiterleitung: 8000 → Remote 80
LocalForward 8000 localhost:80
# Dritter Server: Alle AWS‑EC2‑Server (Alias: aws-*)
Host aws-*
User ec2-user
IdentityFile ~/.ssh/aws_ec2_key.pem
# Regelmäßige Signale, um die Verbindung aktiv zu halten
ServerAliveInterval 60
ServerAliveCountMax 3
# Allgemeine Einstellungen für ein bestimmtes IP‑Subnetz (Alias: 10.0.0.*)
Host 10.0.0.*
User admin
Port 22
Erklärung:
webserver: Verbinden Sie sich mit192.168.1.100alsubuntuüber Port2222und den Schlüsselid_ed25519_webserver.devbox: Verbinden Sie sich mitdev.example.comalsdeveloperüber den Schlüsselid_rsa_devund leiten Sie lokal Port8000an Remote Port80weiter.aws-*: Für alle Aliase, die mitaws-beginnen, gelten die gleichen Einstellungen. Wenn Sie z. B.ssh aws-prodausführen, wird automatischec2-userund der entsprechende Schlüssel verwendet.10.0.0.*: Für jede IP im Subnetz10.0.0.xwirdadminals Benutzer und Port22verwendet.
In der Praxis nutze ich selten Wildcards wie
*. Stattdessen erstelle ich für jeden Server einen eigenen Eintrag – das macht die Verwaltung übersichtlich. Wenn ich denselben Server mit unterschiedlichen Einstellungen erreichen muss, füge ich einfach einen weiteren Alias hinzu, ähnlich wie man in einem Restaurant verschiedene Gerichte auswählt.

Verwendung der Config‑Datei
Sobald Sie die Konfiguration gespeichert haben, wird die Verbindung deutlich einfacher. Probieren wir es anhand des obigen Beispiels aus.
1. Verbindung über einen Alias herstellen
Führen Sie einfach den Alias in ssh aus.
- Alias
webserververwenden:
ssh webserver
Enter passphrase for key '/home/youruser/.ssh/id_ed25519_webserver':
ubuntu@webserver-ip:~ $
Dieser Befehl ist intern gleichbedeutend mit
ssh -p 2222 -i ~/.ssh/id_ed25519_webserver ubuntu@192.168.1.100.
- Alias
devboxverwenden:
ssh devbox
Enter passphrase for key '/home/youruser/.ssh/id_rsa_dev':
developer@devbox-domain:~ $
(Wenn Sie gleichzeitig Port 8000 lokal öffnen, wird der Traffic an Remote Port 80 weitergeleitet.)
Vorteile der Config‑Datei
- Bequemlichkeit: Lange, komplexe Befehle werden durch kurze Aliase ersetzt, was Tippfehler reduziert und Zeit spart.
- Produktivität: Häufig genutzte Server können schnell gewechselt werden, was die Arbeitsgeschwindigkeit erhöht.
- Einfaches Management: Alle Verbindungsdetails sind an einem Ort. Wenn sich z. B. die IP eines Servers ändert, reicht ein Update in der Config‑Datei.
- Sicherheit: Wichtige Informationen wie Schlüsselpfade erscheinen nicht in der Befehls‑Historie.
Fazit
Die SSH‑Config‑Datei ist ein unverzichtbares Werkzeug für jeden Entwickler und Systemadministrator, der SSH nutzt. Nutzen Sie sie, um Ihre SSH‑Erfahrung zu vereinfachen und effizienter zu gestalten. Öffnen Sie ~/.ssh/config, erstellen Sie Ihre eigenen Aliase und genießen Sie die Vorteile!
Weitere Artikel rund um SSH finden Sie ebenfalls – suchen Sie im rechten Suchfeld nach ssh.
Bei Fragen stehen wir Ihnen gerne in den Kommentaren zur Verfügung!