SSH-Key erstellen unter Windows, Mac und Linux (ed25519, Schritt für Schritt)

Mit einem Befehl erzeugst du ein sicheres ed25519-Schlüsselpaar. So erstellst du den SSH-Key unter Windows, macOS und Linux, hinterlegst den Public Key beim Server und nutzt ihn in FileZilla.

Kurzfassung

Öffne ein Terminal (unter Windows PowerShell) und gib ssh-keygen -t ed25519 -C "dein-name" ein. Bestätige den Speicherort mit Enter und vergib eine Passphrase. Es entstehen zwei Dateien: id_ed25519 (privat, bleibt bei dir) und id_ed25519.pub (öffentlich, kommt auf den Server). Den Inhalt der .pub-Datei hinterlegst du im Kundenbereich deines Hosters oder in ~/.ssh/authorized_keys auf dem Server.

Was ein SSH-Key ist

Ein SSH-Key ist ein Schlüsselpaar aus zwei zusammengehörenden Dateien. Der private Schlüssel bleibt auf deinem Rechner und beweist bei jeder Anmeldung, dass du du bist. Der öffentliche Schlüssel liegt auf dem Server und kann nur prüfen, nicht anmelden. Selbst wer den öffentlichen Schlüssel kopiert, kommt damit nicht auf deinen Server. Gegenüber einem Passwort hat das drei Vorteile: Der Schlüssel lässt sich nicht erraten, wird nie übertragen und kann pro Gerät einzeln widerrufen werden.

Welcher Schlüsseltyp?

Typ Empfehlung Hinweis
ed25519 Standard für neue Schlüssel kurz, schnell, sicher; seit OpenSSH 6.5 (2014) überall unterstützt
rsa 4096 nur wenn ein alter Server ed25519 ablehnt mit -t rsa -b 4096 erzeugen
ecdsa nicht nötig funktioniert, bietet keinen Vorteil gegenüber ed25519
dsa, rsa 1024 nicht verwenden von aktuellem OpenSSH abgelehnt bzw. zu schwach

SSH-Key unter Windows erstellen

Windows 10 und 11 bringen den OpenSSH-Client mit, du brauchst kein Zusatzprogramm.

  1. PowerShell öffnen. Startmenü, „PowerShell“ eintippen, Enter. Admin-Rechte sind nicht nötig.
  2. Schlüssel erzeugen.
    ssh-keygen -t ed25519 -C "max@laptop"

    Der Kommentar hinter -C hilft später, den Schlüssel zuzuordnen, etwa Name und Gerät.

  3. Speicherort bestätigen. Vorgeschlagen wird C:\Users\DEINNAME\.ssh\id_ed25519. Enter übernimmt ihn.
  4. Passphrase vergeben. Sie schützt den privaten Schlüssel, falls jemand die Datei kopiert. Bei der Eingabe erscheinen keine Zeichen, das ist normal.
  5. Öffentlichen Schlüssel anzeigen.
    Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

    Die Ausgabe beginnt mit ssh-ed25519 AAAA… und endet mit deinem Kommentar. Diese eine Zeile kopierst du.

Fehlt der Befehl ssh-keygen, installierst du den OpenSSH-Client unter Einstellungen → System → Optionale Features nach.

Alternative: PuTTYgen

Wer mit PuTTY arbeitet, kann den Schlüssel auch mit PuTTYgen erzeugen: Typ EdDSA mit Ed25519 wählen, Generate klicken und die Maus bewegen, Passphrase setzen, dann Save private key (Datei .ppk). Den öffentlichen Schlüssel kopierst du aus dem Feld oben im Fenster. FileZilla liest .ppk-Dateien direkt.

SSH-Key unter macOS und Linux erstellen

  1. Terminal öffnen. macOS: Cmd+Leertaste, „Terminal“. Linux: meist Strg+Alt+T.
  2. Schlüssel erzeugen.
    ssh-keygen -t ed25519 -C "max@macbook"
  3. Speicherort und Passphrase wie unter Windows bestätigen. Der Schlüssel landet in ~/.ssh/id_ed25519.
  4. Öffentlichen Schlüssel kopieren. macOS: pbcopy < ~/.ssh/id_ed25519.pub, Linux: cat ~/.ssh/id_ed25519.pub und markieren.

Auf dem Mac merkt sich der Schlüsselbund die Passphrase, wenn du in ~/.ssh/config die Zeilen UseKeychain yes und AddKeysToAgent yes ergänzt.

Öffentlichen Schlüssel auf den Server bringen

Bei einem Webhoster

Fast alle Hoster mit SSH-Zugang haben im Kundenbereich ein Feld „SSH-Schlüssel“ oder „Public Key“. Dort fügst du die Zeile aus der .pub-Datei ein. Wo genau das bei Strato, IONOS, All-Inkl, Hetzner, netcup und Co. liegt, steht in den Hoster-Anleitungen. Welche Hoster SSH-Keys überhaupt erlauben, zeigt der Webhoster-Vergleich.

Auf einem eigenen Server (VPS, Raspberry Pi)

Von macOS oder Linux aus geht es mit einem Befehl, der den Schlüssel anhängt und die Rechte richtig setzt:

ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]

Unter Windows gibt es ssh-copy-id nicht. Dieser PowerShell-Befehl macht dasselbe:

Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Beim ersten Mal fragt der Server noch nach dem Passwort. Danach meldet ssh [email protected] dich per Schlüssel an.

SSH-Key in FileZilla verwenden

Servermanager: Verbindungsart „Schlüsseldatei“ und Pfad zum privaten Schlüssel
Servermanager: Verbindungsart „Schlüsseldatei“ und Pfad zum privaten Schlüssel
  1. Servermanager öffnen (Strg+S), Protokoll SFTP.
  2. Verbindungsart Schlüsseldatei wählen.
  3. Bei Schlüsseldatei den privaten Schlüssel auswählen, also id_ed25519 ohne .pub oder die .ppk-Datei. Ist die Datei im OpenSSH-Format, bietet FileZilla an, sie ins eigene Format umzuwandeln; das kannst du bestätigen.
  4. Verbinden. Hat der Schlüssel eine Passphrase, fragt FileZilla danach.

Ausführlich mit allen Varianten: SFTP mit SSH-Key in FileZilla einrichten.

Fehler beim Anmelden mit Schlüssel

  • „Permission denied (publickey)“ bzw. in FileZilla „No supported authentication methods available“: Der Server kennt den Schlüssel nicht oder findet ihn wegen falscher Dateirechte nicht. Lösung Schritt für Schritt: Authentifizierung per Schlüssel schlägt fehl.
  • Falsche Datei ausgewählt: In FileZilla und im Client gehört immer der private Schlüssel hinein, auf den Server immer der öffentliche.
  • Rechte zu offen: OpenSSH verweigert private Schlüssel, die andere Benutzer lesen dürfen. Unter macOS/Linux hilft chmod 600 ~/.ssh/id_ed25519.

Schlüssel sicher aufbewahren

  • Privaten Schlüssel nie per E-Mail oder Chat verschicken, nie in ein Git-Repository legen.
  • Pro Gerät ein eigener Schlüssel. Geht ein Laptop verloren, löschst du nur dessen Zeile aus authorized_keys.
  • Eine Passphrase verwenden. Mit dem SSH-Agent (ssh-add) tippst du sie nur einmal pro Sitzung.
  • Den privaten Schlüssel in deinem Backup sichern, am besten verschlüsselt, etwa im Passwortmanager.

Häufige Fragen

Frage antippen, um die Antwort zu öffnen.

Wo liegt mein SSH-Key?

Standardmäßig im Ordner .ssh deines Benutzerverzeichnisses: Windows C:\Users\NAME\.ssh\, macOS /Users/NAME/.ssh/, Linux /home/NAME/.ssh/. Der Ordner ist versteckt; im Windows-Explorer erreichst du ihn, indem du %USERPROFILE%\.ssh in die Adresszeile tippst.

Kann ich einen Schlüssel für mehrere Server nutzen?

Ja. Der öffentliche Schlüssel darf auf beliebig vielen Servern liegen. Sinnvoll ist ein Schlüssel pro Gerät, nicht pro Server.

Ich habe die Passphrase vergessen. Was nun?

Sie lässt sich nicht wiederherstellen. Erzeuge ein neues Schlüsselpaar, hinterlege den neuen öffentlichen Schlüssel und entferne den alten vom Server.

Muss ich eine Passphrase setzen?

Technisch nicht, für Automatisierungen (Backup-Skripte) wird oft darauf verzichtet. Für deinen Arbeitsrechner ist sie dringend zu empfehlen: Ohne Passphrase genügt eine kopierte Datei, um auf alle deine Server zu kommen.

Was ist der Unterschied zwischen id_ed25519 und id_ed25519.pub?

id_ed25519 ist privat und bleibt bei dir. id_ed25519.pub ist öffentlich und kommt auf den Server. Verwechselst du beide, schlägt die Anmeldung fehl.