Especificado no PROTOCOL.key do OpenSSH: uma string mágica openssh-key-v1 seguida de um byte zero, o nome da cifra (none ou aes256-ctr), o nome da KDF (none ou bcrypt) com salt e número de rodadas (16 por padrão; ssh-keygen -a aumenta esse valor), as chaves públicas e uma seção criptografada que contém duas vezes um inteiro de verificação (para detectar uma frase secreta errada), as chaves privadas e os comentários. As chaves Ed25519 sempre usaram esse formato; desde a versão 7.8, as chaves RSA e ECDSA também usam, a menos que se passe -m PEM.
Bibliotecas e ferramentas mais antigas só leem PEM (PKCS #1, SEC 1 ou PKCS #8): as primeiras versões do JSch, alguns serviços de CI e código Java que usa as especificações de chave padrão falham com erros como invalid privatekey. Converta com ssh-keygen -p -m PEM -f key (que reescreve o próprio arquivo) ou exporte uma chave pública com ssh-keygen -e -m PKCS8. As chaves públicas continuam no formato de uma linha type base64 comment.