ssh-keygen erzeugt und verwaltet die Schlüsselpaare für die SSH-Key-Authentifizierung. Das Programm ist Teil von OpenSSH und auf jedem Linux-, macOS- und Windows-System (OpenSSH-Client) vorhanden. Ein Schlüsselpaar besteht aus einem privaten Schlüssel, der auf dem eigenen Rechner bleibt, und einem öffentlichen Schlüssel, der auf dem Zielserver hinterlegt wird.
Schlüsselpaar erzeugen
ssh-keygen -t ed25519 -C "mein-rechner"
Die Option -t wählt den Algorithmus. Empfohlen ist Ed25519 — schnell, kleine Schlüssel, moderne Kryptografie. Klassisch wird ssh-keygen -t rsa -b 4096 verwendet, wenn ältere Server kein Ed25519 können. -C setzt einen Kommentar, der später anzeigt, wem der Schlüssel gehört. Beim Erzeugen fragt ssh-keygen nach einem Speicherort (Standard: ~/.ssh/id_ed25519 und id_ed25519.pub) und optional nach einer Passphrase, die den privaten Schlüssel zusätzlich schützt.
Weitere wichtige Optionen
ssh-keygen -t ed25519 -f ~/.ssh/mein-schluessel— Dateinamen selbst bestimmenssh-keygen -p— Passphrase eines vorhandenen Schlüssels ändern oder entfernenssh-keygen -l -f ~/.ssh/id_ed25519.pub— Fingerprint (Prüfsumme) eines Schlüssels anzeigenssh-keygen -y -f ~/.ssh/id_ed25519— öffentlichen Schlüssel aus dem privaten ableiten (z.B. nach Verlust der .pub-Datei)ssh-keygen -R server.example.com— bekannten Host-Schlüssel ausknown_hostsentfernen (z.B. nach Neuinstallation des Servers)
Praxis-Tipps
- Den privaten Schlüssel niemals weitergeben — er gehört nur auf den eigenen Rechner.
- Nach der Erzeugung den öffentlichen Schlüssel mit ssh-copy-id auf dem Server hinterlegen.
- Berechtigungen prüfen:
~/.sshund private Schlüssel nur für den eigenen Benutzer lesbar (chmod 700 / 600). - Die Passphrase einmal in den SSH-Agent laden, dann ist sie nicht bei jeder Verbindung nötig.
Verwandte Grundlagen: SSH, ssh-copy-id und ssh-config. Den Zugriff auf mehrere Server erleichtert die ssh-, scp- und rsync-Befehle-Referenz.