Pack Camo

RSA- & SSH-Schlüsselpaar-Generator

RSA-, ECDSA- und Ed25519-Schlüsselpaare als PEM und OpenSSH, erzeugt auf Ihrem Gerät.

Alles läuft lokal — nichts wird hochgeladen.

Ihr Schlüsselpaar wird erzeugt…

SSH- oder RSA-Schlüsselpaar erzeugen, ohne etwas zu installieren

Dieser Generator erzeugt ein neues Ed25519-, ECDSA- (P-256, P-384, P-521) oder RSA-Schlüsselpaar (2048, 3072, 4096 Bit) mit der Web Crypto API Ihres Browsers und gibt es so aus, wie Sie es brauchen: einen privaten OpenSSH-Schlüssel und eine <code>authorized_keys</code>-Zeile, genau wie <code>ssh-keygen</code> sie erzeugen würde; PKCS#8- und SPKI-PEM-Dateien für OpenSSL, TLS und JWT-Bibliotheken; einen öffentlichen JWK; und den <code>SHA256:</code>-Fingerprint. Die Schlüssel entstehen auf Ihrem Gerät, und der private Schlüssel verlässt nie diese Seite.

So erzeugen Sie ein SSH-Schlüsselpaar

  1. 1Schlüsseltyp wählen: Ed25519 ist der moderne Standard für SSH; RSA für ältere Server sowie für PEM- oder JWT-Signaturschlüssel.
  2. 2Optional einen Kommentar eingeben, meist user@host, damit Sie den Schlüssel später in authorized_keys wiedererkennen.
  3. 3Auf Erzeugen klicken. Den privaten Schlüssel als id_ed25519 (bzw. id_rsa, id_ecdsa) herunterladen und den öffentlichen mit demselben Namen plus .pub.
  4. 4Beide nach ~/.ssh/ verschieben, chmod 600 ~/.ssh/id_ed25519 ausführen und die Zeile des öffentlichen Schlüssels in ~/.ssh/authorized_keys auf dem Server oder in die SSH-Key-Einstellungen Ihres Git-Hosts eintragen.

Welchen Schlüsseltyp sollte ich wählen?

Ed25519
Klein (ein 68 Zeichen langer öffentlicher Schlüssel), schnell und robust gegen Implementierungsfehler. Unterstützt von OpenSSH ab 6.5, GitHub, GitLab und jedem aktuellen Server. Die beste Wahl für SSH heute.
ECDSA (P-256, P-384, P-521)
NIST-Kurven, nötig, wo Compliance-Vorgaben sie verlangen oder Ed25519 nicht akzeptiert wird, etwa bei manchen Hardware-Tokens und Cloud-Schlüsseldiensten.
RSA
Die kompatibelste Wahl, auch für sehr alte SSH-Server und viele TLS- und JWT-Bibliotheken (RS256). Verwenden Sie mindestens 3072 Bit für Schlüssel, die über 2030 hinaus halten sollen; 2048 ist das Minimum, das noch als akzeptabel gilt.

Die Formate erklärt

Privater OpenSSH-Schlüssel
<code>-----BEGIN OPENSSH PRIVATE KEY-----</code>, das Format, das <code>ssh-keygen</code> standardmäßig schreibt. Hier unverschlüsselt erzeugt; eine Passphrase fügen Sie danach mit <code>ssh-keygen -p -f id_ed25519</code> hinzu.
Öffentlicher OpenSSH-Schlüssel
Eine Zeile, <code>ssh-ed25519 AAAA… comment</code>, für <code>authorized_keys</code>, GitHub, GitLab und Cloud-Konsolen.
Privater PKCS#8-Schlüssel (PEM)
<code>-----BEGIN PRIVATE KEY-----</code>, der Standardcontainer, den OpenSSL, Java, Node.js, Go und die meisten JWT-Bibliotheken für jeden Schlüsseltyp lesen.
Öffentlicher SPKI-Schlüssel (PEM)
<code>-----BEGIN PUBLIC KEY-----</code>, die X.509-SubjectPublicKeyInfo-Form, die zum Prüfen von Signaturen und in JWT-Verifizierungseinstellungen verwendet wird.
JWK
Der öffentliche Schlüssel als JSON (RFC 7517) mit <code>kid</code>-Thumbprint, bereit zur Veröffentlichung in einem JWKS-Endpunkt.

Fingerprints

Der Fingerprint ist ein SHA-256-Hash des öffentlichen Schlüssels im SSH-Wire-Format, Base64-kodiert ohne Padding: SHA256:…. Genau das gibt ssh-keygen -lf id_ed25519.pub aus, das listet GitHub neben jedem Schlüssel, und das zeigt SSH, wenn es Sie bittet, einem neuen Host zu vertrauen. Durch den Vergleich von Fingerprints prüfen Sie, ob zwei Kopien eines öffentlichen Schlüssels derselbe Schlüssel sind.

Ist es sicher, Schlüssel im Browser zu erzeugen?

Die Schlüssel stammen aus crypto.subtle.generateKey, der eingebauten Kryptografie des Browsers, die den sicheren Zufallszahlengenerator des Betriebssystems nutzt – dieselbe Quelle wie ssh-keygen. Nichts wird über das Netzwerk gesendet: Sie können diese Seite laden, die Verbindung trennen und Schlüssel offline erzeugen.

Für Schlüssel, die Produktivsysteme schützen, ist der sicherste Ort zum Erzeugen weiterhin der Rechner, der sie nutzen wird, mit ssh-keygen -t ed25519, oder ein Hardware-Schlüssel. Dieses Tool eignet sich ideal für Testumgebungen, CI-Deploy-Keys, JWT-Signaturschlüssel und Rechner ohne OpenSSH. Um ein Zertifikat zu prüfen, das auf einem solchen Schlüssel basiert, nutzen Sie den Zertifikat-Decoder.

Häufige Fragen

Wie erzeuge ich online einen SSH-Schlüssel?
Wählen Sie Ed25519, geben Sie einen Kommentar wie Ihre E-Mail ein, klicken Sie auf Erzeugen und laden Sie den privaten (id_ed25519) und den öffentlichen Schlüssel (id_ed25519.pub) herunter. Legen Sie beide in ~/.ssh ab und tragen Sie die .pub-Zeile auf dem Server oder bei Ihrem Git-Host ein.
Ist Ed25519 besser als RSA?
Für SSH ja: Ed25519-Schlüssel sind viel kürzer, schneller in der Nutzung und bieten eine mit RSA-3072 vergleichbare Sicherheit. Wählen Sie RSA nur für Systeme ohne Ed25519-Unterstützung.
Warum ist Ed25519 in meinem Browser nicht verfügbar?
Ed25519 kam mit Firefox 129, Safari 17 und Chrome 137 in die Web Crypto API. Aktualisieren Sie einen älteren Browser oder wählen Sie ECDSA oder RSA.
Kann ich dem privaten Schlüssel eine Passphrase hinzufügen?
Der Schlüssel wird ohne erzeugt. Fügen Sie auf Ihrem eigenen Rechner mit ssh-keygen -p -f ~/.ssh/id_ed25519 eine hinzu; die Datei wird dabei direkt verschlüsselt.
Wie wandle ich den Schlüssel in das .ppk-Format von PuTTY um?
Öffnen Sie PuTTYgen, wählen Sie Load, wählen Sie den heruntergeladenen privaten OpenSSH-Schlüssel und speichern Sie ihn als privaten Schlüssel. PuTTYgen liest das OpenSSH-Format direkt.
Welche Datei kommt auf den Server?
Nur der öffentliche Schlüssel, die eine Zeile aus der .pub-Datei, angehängt an ~/.ssh/authorized_keys. Der private Schlüssel bleibt auf Ihrem Rechner und darf nie weitergegeben werden.
Warum meldet SSH, dass die Rechte meines privaten Schlüssels zu offen sind?
SSH lehnt private Schlüssel ab, die andere Benutzer lesen können. Führen Sie chmod 600 auf der Schlüsseldatei und chmod 700 auf dem Verzeichnis ~/.ssh aus.
Werden die Schlüssel an einen Server gesendet?
Nein. Sie werden von der Web Crypto API Ihres Browsers auf dieser Seite erzeugt und existieren nur im Arbeitsspeicher, bis Sie sie herunterladen oder kopieren.