¿Qué es el formato de archivo PPK?
Un archivo .ppk es un archivo PuTTY Private Key (clave privada de PuTTY), un contenedor de claves privadas SSH basado en texto en el formato propietario de PuTTY, creado por la herramienta de generación de claves PuTTYgen y utilizado por PuTTY, WinSCP, FileZilla y clientes SSH compatibles.
El archivo almacena un par de claves SSH (tanto los componentes de la clave pública como de la privada) en un diseño de texto estructurado de varias líneas. La primera línea identifica la versión del formato y el algoritmo de la clave, por ejemplo:
PuTTY-User-Key-File-3: ssh-ed25519
A esto le siguen campos de encabezado para el tipo de cifrado y comentarios, luego bloques codificados en Base64 para la clave pública, la clave privada opcionalmente cifrada y un MAC para la verificación de integridad.
Existen tres versiones del formato:
- PPK v1: formato heredado obsoleto.
- PPK v2: utilizado por PuTTY antes de la versión 0.75; la protección por frase de contraseña utiliza un KDF basado en SHA-1 y AES-256-CBC; integridad verificada con HMAC-SHA-1.
- PPK v3: introducido con PuTTY 0.75 (enero de 2021); reemplaza el KDF SHA-1 con Argon2id, lo que hace que el ataque de fuerza bruta a la frase de contraseña sea significativamente más difícil; utiliza HMAC-SHA-256.
PuTTYgen puede actualizar una clave v2 a v3 en el mismo lugar. Para usar una clave .ppk con las herramientas estándar de OpenSSH (ssh, scp, sftp), primero debe exportarse a PEM o al nuevo formato de OpenSSH a través de PuTTYgen; los dos formatos no son directamente intercambiables.
Los archivos PPK suelen tener entre 1 y 4 KB, independientemente del algoritmo de la clave (RSA, DSA, ECDSA, Ed25519).
Seguridad y protección
RIESGO: HIGHLos archivos PPK contienen material de clave privada, equivalente a una contraseña para todos los servidores donde la clave pública correspondiente esté autorizada. Un PPK sin frase de contraseña otorga acceso SSH inmediato si un atacante lo obtiene. Protéjalo siempre con una frase de contraseña fuerte. Use el formato PPK v3 (PuTTY 0.75+) para una protección de frase de contraseña Argon2id más robusta. Nunca almacene archivos PPK sin cifrar en unidades compartidas ni los incluya en repositorios de código fuente. Los sitios que ofrecen «abrir» o «ver» archivos PPK en línea son peligrosos: subir una clave privada a un sitio web de terceros equivale a entregar una contraseña.
Detalles del formato
en pocas palabrasProgramas que abren archivos PPK
Detalles técnicos
especificación profunda| Codificación | Texto (encabezados ASCII/UTF-8; datos de clave binaria codificados en Base64 en el interior) |
| Firma de archivo | La primera línea es literalmente PuTTY-User-Key-File-N: algoritmo (N = 2 o 3); identifica la versión y el algoritmo de la clave |
| Versiones del formato | v1 (obsoleta); v2 (PuTTY <0.75, HMAC-SHA-1, KDF basado en SHA-1); v3 (PuTTY 0.75+, KDF Argon2id, HMAC-SHA-256) |
| Algoritmos de clave | ssh-rsa, ssh-dss (DSA), ecdsa-sha2-nistp256/384/521, ssh-ed25519, ssh-ed448 |
| Cifrado de frase de contraseña | AES-256-CBC; v2 usa KDF basado en SHA-1; v3 usa Argon2id (KDF de memoria dura), sustancialmente más fuerte contra fuerza bruta |
| Verificación de integridad | HMAC-SHA-1 (v2) o HMAC-SHA-256 (v3) calculado sobre la clave pública, la clave privada, el nombre del algoritmo y el comentario |
| Estructura | Encabezados clave/valor de varias líneas + bloques Base64: líneas de clave pública, líneas de clave privada, Private-MAC; v3 añade líneas de parámetros Argon2 KDF cuando está cifrado |
| Tamaño típico | 1 KB - 4 KB independientemente del algoritmo de la clave |
| Interoperabilidad | No se puede usar directamente con las herramientas de OpenSSH; debe exportarse a PEM o al nuevo formato de OpenSSH a través de PuTTYgen |
| Contiene | Tanto los componentes de la clave pública como de la privada en un solo archivo |
| Nota de seguridad | PPK v2 con HMAC SHA-1 se considera más débil; se recomienda actualizar a v3 a través de PuTTYgen para las claves que aún estén en formato v2 |
| Lanzado | Early 2000s (PuTTY 0.4x era); PPK v3 introduced with PuTTY 0.75 (2021) |
| Última versión | PPK version 3 (PuTTY 0.75+, 2021) |
| Especificación | tartarus.org |
Conversiones de PPK
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos PPK.