Como converter um ppk em uma chave privada openSSH criptografada com uma senha longa

Como converter um ppk em uma chave privada openSSH criptografada com uma senha longa

Quando exportei minha chave privada no PuttyGen, presumi que a senha que defini também era usada na versão openSSH. Estou descobrindo que a senha que coloquei não está funcionando. Qual é a maneira correta de exportar minha chave privada no formato openSSH com uma senha?

Para transferir a chave ssh exportada para o Linux, acabei de colá-la no nano e tentei adicioná-la por ssh. Ele me solicita uma senha, mas não aceita a que eu forneci. PuttyGen importa bem com essa senha.

Responder1

A "chave OpenSSH de exportação" do Windows PuTTYgenfazcriptografe a chave com 3DES-CBC. Se a senha não estiver vazia, o arquivo de saída diz o seguinte:

-----INICIAR CHAVE PRIVADA RSA-----
Tipo Proc: 4, CRIPTOGRAFADO
Informações DEK: DES-EDE3-CBC,157A04D5AE43F45B

NiGUXnTOhATzg4dGvyXs8rzetF7KpplJJIKrZvQunXuVcZhVS+NTpnTgwJb+zOCm
...

Eu testei isso em várias versões nos últimos 4 anos. Se a senha estiver vazia, recebo até uma mensagem "Tem certeza?" incitar.

O Linux puttygentambém sempre usa a mesma senha durante a conversão.


Para chaves RSA e DSA, o OpenSSH usa o mesmo formato de chave 'bruto' do OpenSSL. Portanto, se 3DES-CBC não for suficiente, você poderá usar oopensslferramenta de linha de comando para criptografá-los novamente:

openssl rsa -aes-128-cbc < old.key > new.key

No Unix, é claro, o OpenSSH ssh-keygené melhor:

ssh-keygen -p -f old.key

informação relacionada