Hva er PPK-filformatet?
En .ppk-fil er en PuTTY Private Key-fil - en tekstbasert SSH-privatnøkkelbeholder i PuTTYs proprietære format, opprettet av nøkkelgenereringsverktøyet PuTTYgen og brukt av PuTTY, WinSCP, FileZilla og kompatible SSH-klienter.
Filen lagrer et SSH-nøkkelpar (både offentlige og private nøkkelkomponenter) i et strukturert tekstoppsett over flere linjer. Den første linjen identifiserer formatversjonen og nøkkelalgoritmen, for eksempel:
PuTTY-User-Key-File-3: ssh-ed25519
Dette etterfølges av hodefelt for krypteringstype og kommentar, deretter Base64-kodede blokker for den offentlige nøkkelen, den eventuelt krypterte private nøkkelen, og en MAC for integritetsverifisering.
Det finnes tre formatversjoner:
- PPK v1 - foreldet format
- PPK v2 - brukt av PuTTY før 0.75; passordbeskyttelse bruker en SHA-1-basert KDF og AES-256-CBC; integritet verifisert med HMAC-SHA-1
- PPK v3 - introdusert med PuTTY 0.75 (januar 2021); erstatter SHA-1 KDF med Argon2id, noe som gjør brute-force-angrep på passord betydelig vanskeligere; bruker HMAC-SHA-256
PuTTYgen kan oppgradere en v2-nøkkel til v3 direkte. For å bruke en .ppk-nøkkel med standard OpenSSH-verktøy (ssh, scp, sftp), må den først eksporteres til PEM eller OpenSSH sitt nye format via PuTTYgen; de to formatene er ikke direkte utskiftbare.
PPK-filer er vanligvis 1-4 KB uavhengig av nøkkelalgoritme (RSA, DSA, ECDSA, Ed25519).
Sikkerhet og trygghet
RISIKO: HIGHPPK-filer inneholder privat nøkkelmateriale - tilsvarende et passord for alle servere der den tilsvarende offentlige nøkkelen er autorisert. En PPK uten passord gir umiddelbar SSH-tilgang hvis den blir stjålet av en angriper. Beskytt alltid med et sterkt passord. Bruk PPK v3-format (PuTTY 0.75+) for sterkere Argon2id-passordbeskyttelse. Lagre aldri ukrypterte PPK-filer på delte stasjoner eller inkluder dem i kildekodelagre. Nettsteder som tilbyr å «åpne» eller «vise» PPK-filer online er farlige - å laste opp en privat nøkkel til et tredjeparts nettsted tilsvarer å gi bort et passord.
Formatdetaljer
i et nøtteskallProgrammer som åpner PPK-filer
brew install putty → puttygen key.ppk -O private-openssh -o ~/.ssh/id_rsa for å konvertere for bruk med ssh. puttygen key.ppk -O private-openssh -o key.pem - konverterer til OpenSSH PEM-format for bruk med ssh/scp/sftp. Tekniske detaljer
dyp spesifikasjon| Koding | Tekst (ASCII/UTF-8 hoder; Base64-kodet binær nøkkeldata inni) |
| Filsignatur | Første linje er bokstavelig talt PuTTY-User-Key-File-N: algorithm (N = 2 eller 3); identifiserer versjon og nøkkelalgoritme |
| Formatversjoner | v1 (foreldet); v2 (PuTTY <0.75, HMAC-SHA-1, SHA-1-basert KDF); v3 (PuTTY 0.75+, Argon2id KDF, HMAC-SHA-256) |
| Nøkkelalgoritmer | ssh-rsa, ssh-dss (DSA), ecdsa-sha2-nistp256/384/521, ssh-ed25519, ssh-ed448 |
| Passordkryptering | AES-256-CBC; v2 bruker SHA-1-basert KDF; v3 bruker Argon2id (minne-hard KDF) - betydelig sterkere mot brute-force |
| Integritetssjekk | HMAC-SHA-1 (v2) eller HMAC-SHA-256 (v3) beregnet over offentlig nøkkel, privat nøkkel, algoritmenavn og kommentar |
| Struktur | Flerlinjers nøkkel/verdi-hoder + Base64-blokker: linjer for offentlig nøkkel, linjer for privat nøkkel, Private-MAC; v3 legger til Argon2 KDF-parameterlinjer når kryptert |
| Typisk størrelse | 1 KB - 4 KB uavhengig av nøkkelalgoritme |
| Interoperabilitet | Ikke direkte brukbar med OpenSSH-verktøy; må eksporteres til PEM eller OpenSSH nytt format via PuTTYgen |
| Inneholder | Både offentlige og private nøkkelkomponenter i en enkelt fil |
| Sikkerhetsmerknad | PPK v2 med SHA-1 HMAC anses som svakere; oppgradering til v3 via PuTTYgen anbefales for nøkler som fortsatt er i v2-format |
| Utgitt | Early 2000s (PuTTY 0.4x era); PPK v3 introduced with PuTTY 0.75 (2021) |
| Siste versjon | PPK version 3 (PuTTY 0.75+, 2021) |
| Spesifikasjon | tartarus.org |
PPK-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om PPK-filer.
Ofte stilte spørsmål
Hvordan konverterer jeg en PPK-fil til PEM for Linux/macOS?
brew install putty (macOS) eller apt install putty-tools (Linux). Deretter: puttygen key.ppk -O private-openssh -o key.pemHvordan åpner jeg en PPK-fil på Windows?
Hva er forskjellen mellom PPK v2 og PPK v3?
Kan jeg bruke en PPK-fil direkte med OpenSSH?
puttygen. OpenSSH kan ikke lese PPK-formatet naturlig.PPK-filen min ber om et passord, men jeg har glemt det.
authorized_keys på serveren.