Was ist das PPK-Dateiformat?
Eine .ppk-Datei ist eine PuTTY Private Key-Datei - ein textbasierter Container für private SSH-Schlüssel im proprietären Format von PuTTY, der mit dem Schlüsselgenerator PuTTYgen erstellt und von PuTTY, WinSCP, FileZilla sowie kompatiblen SSH-Clients verwendet wird.
Die Datei speichert ein SSH-Schlüsselpaar (sowohl öffentliche als auch private Schlüsselkomponenten) in einem strukturierten, mehrzeiligen Textlayout. Die erste Zeile identifiziert die Formatversion und den Schlüsselalgorithmus, zum Beispiel:
PuTTY-User-Key-File-3: ssh-ed25519
Darauf folgen Header-Felder für den Verschlüsselungstyp und Kommentare, gefolgt von Base64-kodierten Blöcken für den öffentlichen Schlüssel, den optional verschlüsselten privaten Schlüssel und einen MAC zur Integritätsprüfung.
Es existieren drei Formatversionen:
- PPK v1 - veraltetes Legacy-Format
- PPK v2 - verwendet von PuTTY vor Version 0.75; der Passphrasen-Schutz nutzt eine SHA-1-basierte KDF und AES-256-CBC; Integrität wird mit HMAC-SHA-1 geprüft
- PPK v3 - eingeführt mit PuTTY 0.75 (Januar 2021); ersetzt SHA-1 KDF durch Argon2id, was Brute-Force-Angriffe auf Passphrasen erheblich erschwert; verwendet HMAC-SHA-256
PuTTYgen kann einen v2-Schlüssel direkt auf v3 aktualisieren. Um einen .ppk-Schlüssel mit Standard-OpenSSH-Tools (ssh, scp, sftp) zu verwenden, muss er zuerst über PuTTYgen in das PEM- oder das neue OpenSSH-Format exportiert werden; die beiden Formate sind nicht direkt austauschbar.
PPK-Dateien sind unabhängig vom Schlüsselalgorithmus (RSA, DSA, ECDSA, Ed25519) in der Regel 1-4 KB groß.
Sicherheit
RISIKO: HIGHPPK-Dateien enthalten privates Schlüsselmaterial - dies entspricht einem Passwort für alle Server, auf denen der zugehörige öffentliche Schlüssel autorisiert ist. Eine PPK ohne Passphrase ermöglicht sofortigen SSH-Zugriff, falls sie in die Hände von Angreifern gelangt. Schützen Sie diese immer mit einer starken Passphrase. Verwenden Sie das PPK v3-Format (PuTTY 0.75+) für stärkeren Argon2id-Passphrasenschutz. Speichern Sie niemals unverschlüsselte PPK-Dateien auf freigegebenen Laufwerken oder in Quellcode-Repositories. Websites, die anbieten, PPK-Dateien online zu «öffnen» oder «anzusehen», sind gefährlich - das Hochladen eines privaten Schlüssels auf eine Website eines Drittanbieters entspricht der Preisgabe eines Passworts.
Formatdetails
kurz gefasstProgramme zum Öffnen von PPK-Dateien
brew install putty → puttygen key.ppk -O private-openssh -o ~/.ssh/id_rsa, um den Schlüssel für die Verwendung mit ssh zu konvertieren. puttygen key.ppk -O private-openssh -o key.pem - konvertiert in das OpenSSH PEM-Format zur Verwendung mit ssh/scp/sftp. Technische Details
technische Spezifikation| Kodierung | Text (ASCII/UTF-8 Header; darin Base64-kodierte binäre Schlüsseldaten) |
| Dateisignatur | Die erste Zeile lautet wörtlich PuTTY-User-Key-File-N: Algorithmus (N = 2 oder 3); identifiziert Version und Schlüsselalgorithmus |
| Formatversionen | v1 (veraltet); v2 (PuTTY <0.75, HMAC-SHA-1, SHA-1-basierte KDF); v3 (PuTTY 0.75+, Argon2id KDF, HMAC-SHA-256) |
| Schlüsselalgorithmen | ssh-rsa, ssh-dss (DSA), ecdsa-sha2-nistp256/384/521, ssh-ed25519, ssh-ed448 |
| Passphrasen-Verschlüsselung | AES-256-CBC; v2 nutzt SHA-1-basierte KDF; v3 nutzt Argon2id (Memory-Hard KDF) - wesentlich stärker gegen Brute-Force |
| Integritätsprüfung | HMAC-SHA-1 (v2) oder HMAC-SHA-256 (v3), berechnet über öffentlichen Schlüssel, privaten Schlüssel, Algorithmusnamen und Kommentar |
| Struktur | Mehrzeilige Key/Value-Header + Base64-Blöcke: Zeilen für öffentlichen Schlüssel, Zeilen für privaten Schlüssel, Private-MAC; v3 fügt bei Verschlüsselung Argon2-KDF-Parameterzeilen hinzu |
| Typische Größe | 1 KB - 4 KB unabhängig vom Schlüsselalgorithmus |
| Interoperabilität | Nicht direkt mit OpenSSH-Tools verwendbar; muss über PuTTYgen nach PEM oder in das neue OpenSSH-Format exportiert werden |
| Inhalt | Sowohl öffentliche als auch private Schlüsselkomponenten in einer einzigen Datei |
| Sicherheitshinweis | PPK v2 mit SHA-1 HMAC gilt als schwächer; ein Upgrade auf v3 via PuTTYgen wird für Schlüssel im v2-Format empfohlen |
| Veröffentlicht | Early 2000s (PuTTY 0.4x era); PPK v3 introduced with PuTTY 0.75 (2021) |
| Neueste Version | PPK version 3 (PuTTY 0.75+, 2021) |
| Spezifikation | tartarus.org |
PPK-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu PPK-Dateien.
Häufig gestellte Fragen
Wie konvertiere ich eine PPK-Datei in PEM für Linux/macOS?
brew install putty (macOS) oder apt install putty-tools (Linux). Dann: puttygen key.ppk -O private-openssh -o key.pemWie öffne ich eine PPK-Datei unter Windows?
Was ist der Unterschied zwischen PPK v2 und PPK v3?
Kann ich eine PPK-Datei direkt mit OpenSSH verwenden?
puttygen. OpenSSH kann das PPK-Format nicht nativ lesen.Meine PPK-Datei fragt nach einer Passphrase, aber ich habe sie vergessen.
authorized_keys auf dem Server zu aktualisieren.