O que é o formato de ficheiro PPK?
Um arquivo .ppk é um arquivo PuTTY Private Key - um contêiner de chave privada SSH baseado em texto no formato proprietário do PuTTY, criado pela ferramenta de geração de chaves PuTTYgen e usado pelo PuTTY, WinSCP, FileZilla e clientes SSH compatíveis.
O arquivo armazena um par de chaves SSH (componentes de chave pública e privada) em um layout de texto estruturado de várias linhas. A primeira linha identifica a versão do formato e o algoritmo da chave, por exemplo:
PuTTY-User-Key-File-3: ssh-ed25519
Isso é seguido por campos de cabeçalho para tipo de criptografia e comentário, depois blocos codificados em Base64 para a chave pública, a chave privada opcionalmente criptografada e um MAC para verificação de integridade.
Existem três versões de formato:
- PPK v1 - formato legado obsoleto
- PPK v2 - usado pelo PuTTY antes da versão 0.75; a proteção por senha usa um KDF baseado em SHA-1 e AES-256-CBC; integridade verificada com HMAC-SHA-1
- PPK v3 - introduzido com o PuTTY 0.75 (janeiro de 2021); substitui o SHA-1 KDF pelo Argon2id, tornando a força bruta de senhas significativamente mais difícil; usa HMAC-SHA-256
O PuTTYgen pode atualizar uma chave v2 para v3 no local. Para usar uma chave .ppk com ferramentas OpenSSH padrão (ssh, scp, sftp), ela deve primeiro ser exportada para PEM ou para o novo formato OpenSSH via PuTTYgen; os dois formatos não são diretamente intercambiáveis.
Arquivos PPK têm normalmente de 1 a 4 KB, independentemente do algoritmo da chave (RSA, DSA, ECDSA, Ed25519).
Segurança e proteção
RISCO: HIGHArquivos PPK contêm material de chave privada - equivalente a uma senha para todos os servidores onde a chave pública correspondente está autorizada. Um PPK sem senha concede acesso SSH imediato se obtido por um invasor. Proteja sempre com uma senha forte. Use o formato PPK v3 (PuTTY 0.75+) para uma proteção de senha Argon2id mais forte. Nunca armazene arquivos PPK não criptografados em unidades compartilhadas ou os inclua em repositórios de código-fonte. Sites que oferecem «abrir» ou «visualizar» arquivos PPK online são perigosos - enviar uma chave privada para um site de terceiros é equivalente a entregar uma senha.
Detalhes do formato
em resumoProgramas que abrem arquivos PPK
Detalhes técnicos
especificação profunda| Codificação | Texto (cabeçalhos ASCII/UTF-8; dados de chave binária codificados em Base64 internamente) |
| Assinatura do arquivo | A primeira linha é literalmente PuTTY-User-Key-File-N: algorithm (N = 2 ou 3); identifica a versão e o algoritmo da chave |
| Versões do formato | v1 (obsoleto); v2 (PuTTY <0.75, HMAC-SHA-1, KDF baseado em SHA-1); v3 (PuTTY 0.75+, Argon2id KDF, HMAC-SHA-256) |
| Algoritmos de chave | ssh-rsa, ssh-dss (DSA), ecdsa-sha2-nistp256/384/521, ssh-ed25519, ssh-ed448 |
| Criptografia de senha | AES-256-CBC; v2 usa KDF baseado em SHA-1; v3 usa Argon2id (KDF com uso intensivo de memória) - substancialmente mais forte contra força bruta |
| Verificação de integridade | HMAC-SHA-1 (v2) ou HMAC-SHA-256 (v3) computado sobre a chave pública, chave privada, nome do algoritmo e comentário |
| Estrutura | Cabeçalhos de chave/valor de várias linhas + blocos Base64: linhas de chave pública, linhas de chave privada, Private-MAC; v3 adiciona linhas de parâmetros Argon2 KDF quando criptografado |
| Tamanho típico | 1 KB - 4 KB independentemente do algoritmo da chave |
| Interoperabilidade | Não utilizável diretamente com ferramentas OpenSSH; deve ser exportado para PEM ou novo formato OpenSSH via PuTTYgen |
| Contém | Componentes de chave pública e privada em um único arquivo |
| Nota de segurança | O PPK v2 com HMAC SHA-1 é considerado mais fraco; a atualização para v3 via PuTTYgen é recomendada para chaves que ainda estão no formato v2 |
| Lançado | Early 2000s (PuTTY 0.4x era); PPK v3 introduced with PuTTY 0.75 (2021) |
| Versão mais recente | PPK version 3 (PuTTY 0.75+, 2021) |
| Especificação | tartarus.org |
Conversões de PPK
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos PPK.