Ed25519-Schlüssel erzeugen

Ed25519-Schlüssel direkt im Browser erzeugen: OpenSSH-Format mit ssh-ed25519, PEM (PKCS#8 und SPKI) und JWK, mit Fingerprint wie ssh-keygen.

Öffentlicher Schlüssel (OpenSSH, für authorized_keys)
Privater Schlüssel (OpenSSH, Datei id_ed25519)
Privater Schlüssel als PEM (PKCS#8)
Öffentlicher Schlüssel als PEM (SPKI)
Privater Schlüssel als JWK (mit kid)

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.

Ed25519 Key generieren für SSH und JOSE

Ed25519 ist ein Signaturverfahren auf der Edwards-Kurve Curve25519 (RFC 8032). Die Schlüssel sind kurz, das Signieren ist schnell, und typische Fehlerquellen älterer Verfahren wie schlechte Zufallszahlen beim Signieren entfallen. Für SSH ist ssh-ed25519 heute die übliche Wahl; GitHub, GitLab und aktuelle OpenSSH-Versionen empfehlen es.

Dieses Werkzeug erzeugt ein Ed25519-Schlüsselpaar über die WebCrypto-Schnittstelle Ihres Browsers und gibt es in mehreren Formaten aus: den OpenSSH-Public-Key für ~/.ssh/authorized_keys, die private Schlüsseldatei im OpenSSH-Format (unverschlüsselt), PEM nach PKCS#8 und SPKI für Bibliotheken wie OpenSSL, Node.js oder Go sowie einen JWK für JOSE und JWT (Algorithmus EdDSA). Der Fingerprint entspricht der Ausgabe von ssh-keygen -l.

Grenzen: Ältere Browser kennen Ed25519 in WebCrypto noch nicht; dann erscheint ein Hinweis. Die private OpenSSH-Datei hat keine Passphrase. Setzen Sie nach dem Speichern eine mit ssh-keygen -p -f id_ed25519 und schützen Sie die Datei mit chmod 600. Für Produktivsysteme ist ssh-keygen -t ed25519 auf dem eigenen Rechner der sicherste Weg. RSA-Schlüssel erzeugt der RSA-Schlüsselgenerator.

Anleitung: Ed25519-Schlüssel in 4 Schritten

  1. Einen Kommentar für den OpenSSH-Schlüssel eintragen, etwa Name und Rechner.
  2. Auf „Neues Schlüsselpaar erzeugen“ klicken.
  3. Den öffentlichen Schlüssel mit ssh-ed25519 für authorized_keys kopieren und die private Schlüsseldatei mit „id_ed25519 herunterladen“ speichern.
  4. Bei Bedarf PEM (PKCS#8 und SPKI) oder den JWK für JOSE und JWT kopieren.

Typische Anwendungsfälle

  • Testserver einrichten: Schnell ein Schlüsselpaar für eine Übungs-VM oder einen Container erzeugen.
  • JWT mit EdDSA testen: Einen JWK oder PEM-Schlüssel für eine Bibliothek in Node.js oder Go bereitstellen.
  • Formate vergleichen: Denselben Ed25519-Schlüssel im OpenSSH-, PEM- und JWK-Format nebeneinander sehen.
  • Schulung: Aufbau und Fingerprint eines OpenSSH-Schlüssels zeigen, ohne ssh-keygen zu installieren.
Fragen

Häufige Fragen

Ist Ed25519 besser als RSA für SSH?

Für neue Schlüssel meist ja: Ed25519 bietet etwa 128 Bit Sicherheit bei 32 Byte langen Schlüsseln, ist schneller und weniger fehleranfällig. RSA mit 3072 Bit ist gleichwertig, aber deutlich größer. Nur sehr alte Server kennen Ed25519 nicht.

Wie nutze ich den Schlüssel mit SSH?

Speichern Sie den privaten Schlüssel als ~/.ssh/id_ed25519 (Rechte 600) und den öffentlichen als ~/.ssh/id_ed25519.pub. Die Zeile mit ssh-ed25519 kommt auf dem Server in ~/.ssh/authorized_keys.

Warum meldet mein Browser, dass Ed25519 nicht unterstützt wird?

Ed25519 ist erst seit kurzem fester Teil von WebCrypto: Chrome und Edge ab Version 137, Firefox ab 129, Safari ab 17. In älteren Versionen nutzen Sie ssh-keygen -t ed25519 im Terminal.

Welches Format brauche ich für JWT?

Für JWT mit dem Algorithmus EdDSA nutzen Bibliotheken meist den JWK oder PEM (PKCS#8 für den privaten, SPKI für den öffentlichen Schlüssel).

Ist der private Schlüssel verschlüsselt?

Nein. Fügen Sie nach dem Speichern eine Passphrase hinzu: ssh-keygen -p -f id_ed25519. Teilen Sie den privaten Schlüssel nie und kopieren Sie ihn nur auf Geräte, die Sie selbst kontrollieren.

Wie füge ich einen Ed25519-Schlüssel bei GitHub hinzu?

In GitHub unter Settings, „SSH and GPG keys“ auf „New SSH key“ klicken und die komplette Zeile mit ssh-ed25519 einfügen. Mit ssh -T git@github.com testen Sie danach die Verbindung.

Wie erzeuge ich aus dem privaten Schlüssel den öffentlichen?

Mit ssh-keygen -y -f ~/.ssh/id_ed25519 > ~/.ssh/id_ed25519.pub. Der Befehl liest die private Datei und gibt die passende Zeile mit ssh-ed25519 aus.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge