SSH-Config-Generator
Der SSH-Config-Generator erzeugt Einträge für ~/.ssh/config mit Host-Alias, HostName, User, Port, IdentityFile, ProxyJump und LocalForward, damit ssh web genügt.
Alles läuft in Ihrem Browser, Eingaben werden nicht übertragen. Nur zum Lernen und Testen: Verwenden Sie für echte Geheimnisse und Produktivsysteme geprüfte Werkzeuge Ihrer Organisation.
| Option | Bedeutung | Beispiel |
|---|---|---|
Host | Alias, unter dem Sie den Server aufrufen; auch Muster wie *.intern | Host web |
HostName | Echte Adresse oder IP | HostName 203.0.113.10 |
User | Benutzername auf dem Server | User deploy |
Port | SSH-Port, wenn nicht 22 | Port 2222 |
IdentityFile | Privater Schlüssel für diesen Server | IdentityFile ~/.ssh/id_ed25519 |
IdentitiesOnly | Nur den angegebenen Schlüssel anbieten | IdentitiesOnly yes |
ProxyJump | Über einen Sprungserver (Bastion) verbinden | ProxyJump bastion |
LocalForward | Lokalen Port zum Server tunneln | LocalForward 5432 localhost:5432 |
ForwardAgent | SSH-Agent weiterreichen (nur auf vertrauenswürdigen Servern) | ForwardAgent yes |
ServerAliveInterval | Sekunden zwischen Lebenszeichen, verhindert Abbrüche | ServerAliveInterval 60 |
~/.ssh/config übersichtlich anlegen
Der SSH-Config-Generator erstellt Einträge für die Datei ~/.ssh/config. Statt jedes Mal ssh -i ~/.ssh/id_ed25519 -p 2222 deploy@203.0.113.10 zu tippen, legen Sie einen SSH Host-Alias wie web an und schreiben nur noch ssh web. Der Alias gilt auch für scp, rsync, sftp, Git über SSH und Editoren wie VS Code Remote-SSH. Je Eintrag tragen Sie Adresse, Benutzer, Port und Schlüssel (IdentityFile) ein, optional einen Sprungserver und Portweiterleitungen.
ProxyJump verbindet über einen Bastion-Host: Ist ProxyJump bastion gesetzt, baut ssh zuerst die Verbindung zum Eintrag bastion auf und von dort weiter zum Zielserver, ohne dass Ihr privater Schlüssel den eigenen Rechner verlässt. Das ist sicherer als ForwardAgent. IdentitiesOnly yes verhindert, dass ssh alle Schlüssel aus dem Agenten durchprobiert und der Server nach zu vielen Versuchen abbricht.
Zur Reihenfolge: ssh liest die SSH-Konfiguration von oben nach unten und nimmt für jede Option den ersten passenden Wert. Spezielle Einträge gehören daher nach oben, der allgemeine Block Host * ans Ende. Die Datei muss Ihnen gehören und darf für andere nicht beschreibbar sein, üblich ist chmod 600 ~/.ssh/config; den passenden Wert erklärt der chmod-Rechner. Testen Sie Einträge mit ssh -G web, das die wirksamen Einstellungen ausgibt, ohne sich zu verbinden.
Anleitung: SSH-Config-Generator in 4 Schritten
- Mit „Eintrag hinzufügen“ einen Server anlegen oder mit „Beispiel laden“ eine Vorlage öffnen.
- Je Eintrag Host-Alias, HostName, User, Port und IdentityFile eintragen, bei Bedarf ProxyJump und LocalForward.
- Unter „Allgemeine Vorgaben (Host *)“ ServerAliveInterval, AddKeysToAgent und unter macOS UseKeychain aktivieren.
- Die fertige SSH-Konfiguration kopieren, in ~/.ssh/config einfügen und mit
ssh -G aliasprüfen.
Typische Anwendungsfälle
- Viele Server verwalten: Statt langer Befehle mit Port und Schlüssel nur noch ssh web oder ssh db tippen.
- Zugang über Bastion-Host: Zielserver im internen Netz per ProxyJump erreichbar machen, ohne den Agenten weiterzureichen.
- Datenbank-Tunnel: Mit LocalForward eine entfernte Datenbank auf einen lokalen Port legen.
- VS Code Remote-SSH: Hosts einmal sauber anlegen, damit sie im Editor direkt zur Auswahl stehen.
Häufige Fragen
Wo liegt die SSH-Konfiguration?
Unter Linux und macOS in ~/.ssh/config, unter Windows in C:\Users\Name\.ssh\config. Existiert die Datei nicht, legen Sie sie einfach an. Systemweite Vorgaben stehen in /etc/ssh/ssh_config.
Was ist der Unterschied zwischen Host und HostName?
Host ist der Name, den Sie beim Aufruf tippen, also der Alias. HostName ist die echte Adresse, mit der ssh sich verbindet. Fehlt HostName, verwendet ssh den Alias als Adresse.
Wie nutze ich einen Sprungserver?
Legen Sie für den Sprungserver einen eigenen Eintrag an und tragen Sie bei den Zielservern ProxyJump mit dessen Alias ein. Auf der Kommandozeile geht das auch einmalig mit ssh -J bastion web.
Warum fragt ssh trotz Eintrag nach einem Passwort?
Häufige Ursachen: falscher Pfad bei IdentityFile, zu offene Rechte auf dem Schlüssel (nötig ist 600) oder der öffentliche Schlüssel fehlt auf dem Server in ~/.ssh/authorized_keys. Mit ssh -v web sehen Sie, welcher Schlüssel angeboten wird.
Was bewirkt UseKeychain?
Nur unter macOS: Das Passwort Ihres Schlüssels wird im Schlüsselbund gespeichert. Andere Systeme kennen die Option nicht; die Zeile IgnoreUnknown UseKeychain verhindert dort eine Fehlermeldung.
Wie nutze ich mehrere GitHub-Konten mit verschiedenen SSH-Schlüsseln?
Legen Sie je Konto einen Eintrag an, etwa Host github-arbeit mit HostName github.com, User git, eigenem IdentityFile und IdentitiesOnly yes. Beim Klonen verwenden Sie dann den Alias: git clone git@github-arbeit:firma/repo.git.
Wie kopiere ich meinen öffentlichen Schlüssel auf den Server?
Mit ssh-copy-id alias wird der Schlüssel an ~/.ssh/authorized_keys auf dem Server angehängt. Wo ssh-copy-id fehlt, etwa unter Windows, fügen Sie den Inhalt der .pub-Datei von Hand in diese Datei ein.
Das könnte auch helfen
Cron-Ausdruck erklären
Crontab-Zeilen mit 5 oder 6 Feldern auf Deutsch erklärt, mit den nächsten 10 Ausführungen.
ÖffnenCron-Generator
Zeitplan im Formular wählen und die fertige Crontab-Zeile kopieren.
ÖffnenUnix-Zeitstempel umrechnen
Timestamp in Datum und zurück, Sekunden und Millisekunden erkannt, UTC und Berlin.
ÖffnenUUID-Generator
UUID v4 und v7 erzeugen, bis zu 1.000 auf einmal, und vorhandene UUIDs prüfen.
ÖffnenULID-Generator
Sortierbare IDs in Crockford Base32 erzeugen, dekodieren und in UUID umwandeln.
ÖffnenTexte vergleichen (Diff)
Unterschiede zwischen zwei Texten zeilen-, wort- oder zeichenweise finden.
Öffnen