Qu'est-ce que le format de fichier PPK ?
Un fichier .ppk est un fichier PuTTY Private Key - un conteneur de clé privée SSH au format texte propriétaire de PuTTY, créé par l'outil de génération de clés PuTTYgen et utilisé par PuTTY, WinSCP, FileZilla et les clients SSH compatibles.
Le fichier stocke une paire de clés SSH (les composants de clé publique et privée) dans une mise en page texte structurée sur plusieurs lignes. La première ligne identifie la version du format et l'algorithme de la clé, par exemple :
PuTTY-User-Key-File-3: ssh-ed25519
Ceci est suivi par des champs d'en-tête pour le type de chiffrement et le commentaire, puis des blocs encodés en Base64 pour la clé publique, la clé privée (optionnellement chiffrée) et un MAC pour la vérification de l'intégrité.
Trois versions du format existent :
- PPK v1 - format hérité obsolète
- PPK v2 - utilisé par PuTTY avant la version 0.75 ; la protection par mot de passe utilise un KDF basé sur SHA-1 et AES-256-CBC ; intégrité vérifiée avec HMAC-SHA-1
- PPK v3 - introduit avec PuTTY 0.75 (janvier 2021) ; remplace le KDF SHA-1 par Argon2id, rendant les attaques par force brute sur le mot de passe nettement plus difficiles ; utilise HMAC-SHA-256
PuTTYgen peut mettre à jour une clé v2 vers v3 sur place. Pour utiliser une clé .ppk avec les outils OpenSSH standard (ssh, scp, sftp), elle doit d'abord être exportée au format PEM ou au nouveau format OpenSSH via PuTTYgen ; les deux formats ne sont pas directement interchangeables.
Les fichiers PPK font généralement entre 1 et 4 Ko, quel que soit l'algorithme de clé (RSA, DSA, ECDSA, Ed25519).
Sécurité et sûreté
RISQUE : HIGHLes fichiers PPK contiennent des éléments de clé privée - l'équivalent d'un mot de passe pour tous les serveurs où la clé publique correspondante est autorisée. Un PPK sans mot de passe donne un accès SSH immédiat s'il est obtenu par un attaquant. Protégez-le toujours avec un mot de passe robuste. Utilisez le format PPK v3 (PuTTY 0.75+) pour une protection par mot de passe Argon2id plus forte. Ne stockez jamais de fichiers PPK non chiffrés sur des lecteurs partagés et ne les incluez pas dans des dépôts de code source. Les sites proposant d'« ouvrir » ou de « visualiser » des fichiers PPK en ligne sont dangereux - télécharger une clé privée sur un site tiers équivaut à donner son mot de passe.
Détails du format
en brefProgrammes qui ouvrent les fichiers PPK
Détails techniques
spécifications approfondies| Encodage | Texte (en-têtes ASCII/UTF-8 ; données de clé binaire encodées en Base64 à l'intérieur) |
| Signature de fichier | La première ligne est littéralement PuTTY-User-Key-File-N: algorithme (N = 2 ou 3) ; identifie la version et l'algorithme de clé |
| Versions du format | v1 (obsolète) ; v2 (PuTTY <0.75, HMAC-SHA-1, KDF basé sur SHA-1) ; v3 (PuTTY 0.75+, KDF Argon2id, HMAC-SHA-256) |
| Algorithmes de clé | ssh-rsa, ssh-dss (DSA), ecdsa-sha2-nistp256/384/521, ssh-ed25519, ssh-ed448 |
| Chiffrement du mot de passe | AES-256-CBC ; v2 utilise un KDF basé sur SHA-1 ; v3 utilise Argon2id (KDF à forte consommation mémoire) - substantiellement plus robuste contre la force brute |
| Vérification d'intégrité | HMAC-SHA-1 (v2) ou HMAC-SHA-256 (v3) calculé sur la clé publique, la clé privée, le nom de l'algorithme et le commentaire |
| Structure | En-têtes clé/valeur multi-lignes + blocs Base64 : lignes de clé publique, lignes de clé privée, Private-MAC ; v3 ajoute des lignes de paramètres KDF Argon2 lorsqu'il est chiffré |
| Taille typique | 1 Ko - 4 Ko quel que soit l'algorithme de clé |
| Interopérabilité | Pas directement utilisable avec les outils OpenSSH ; doit être exporté en PEM ou au nouveau format OpenSSH via PuTTYgen |
| Contient | Les composants de clé publique et privée dans un seul fichier |
| Note de sécurité | Le format PPK v2 avec HMAC SHA-1 est considéré comme plus faible ; la mise à niveau vers v3 via PuTTYgen est recommandée pour les clés encore au format v2 |
| Publié | Early 2000s (PuTTY 0.4x era); PPK v3 introduced with PuTTY 0.75 (2021) |
| Dernière version | PPK version 3 (PuTTY 0.75+, 2021) |
| Spécification | tartarus.org |
Conversions PPK
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers PPK.
Foire aux questions
Comment convertir un fichier PPK en PEM pour Linux/macOS ?
brew install putty (macOS) ou apt install putty-tools (Linux). Ensuite : puttygen key.ppk -O private-openssh -o key.pemComment ouvrir un fichier PPK sous Windows ?
Quelle est la différence entre PPK v2 et PPK v3 ?
Puis-je utiliser un fichier PPK directement avec OpenSSH ?
puttygen. OpenSSH ne lit pas nativement le format PPK.Mon fichier PPK demande un mot de passe mais je l'ai oublié.
authorized_keys sur le serveur.