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.

Allgemeine Vorgaben (Host *)
~/.ssh/config

    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.

    Wichtige Optionen
    OptionBedeutungBeispiel
    HostAlias, unter dem Sie den Server aufrufen; auch Muster wie *.internHost web
    HostNameEchte Adresse oder IPHostName 203.0.113.10
    UserBenutzername auf dem ServerUser deploy
    PortSSH-Port, wenn nicht 22Port 2222
    IdentityFilePrivater Schlüssel für diesen ServerIdentityFile ~/.ssh/id_ed25519
    IdentitiesOnlyNur den angegebenen Schlüssel anbietenIdentitiesOnly yes
    ProxyJumpÜber einen Sprungserver (Bastion) verbindenProxyJump bastion
    LocalForwardLokalen Port zum Server tunnelnLocalForward 5432 localhost:5432
    ForwardAgentSSH-Agent weiterreichen (nur auf vertrauenswürdigen Servern)ForwardAgent yes
    ServerAliveIntervalSekunden zwischen Lebenszeichen, verhindert AbbrücheServerAliveInterval 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

    1. Mit „Eintrag hinzufügen“ einen Server anlegen oder mit „Beispiel laden“ eine Vorlage öffnen.
    2. Je Eintrag Host-Alias, HostName, User, Port und IdentityFile eintragen, bei Bedarf ProxyJump und LocalForward.
    3. Unter „Allgemeine Vorgaben (Host *)“ ServerAliveInterval, AddKeysToAgent und unter macOS UseKeychain aktivieren.
    4. Die fertige SSH-Konfiguration kopieren, in ~/.ssh/config einfügen und mit ssh -G alias prü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.
    Fragen

    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.

    Weitere Werkzeuge

    Das könnte auch helfen

    Alle 358 Werkzeuge