Acho que meu problema se resume ao fato de que há algo errado com a chave, mas não posso apenas descriptografá-la, para uma investigação mais aprofundada, sem analisá-la. Mas eu não tenho certeza.
Estou tentando usar o método padrão:
openssl rsa -in ./id_rsa -out ./id_rsa.decrypted
Acho que conheço a senha, porque quando digito uma incorreta, recebo:
Enter pass phrase for ./id_rsa:
unable to load Private Key
140256774473360:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:544:
140256774473360:error:0906A065:PEM routines:PEM_do_header:bad decrypt:pem_lib.c:483
" descriptografia incorreta " é bastante clara. Agora, quando introduzo minha frase secreta aparentemente boa, volto:
Enter pass phrase for ./id_rsa:
unable to load Private Key
139662870623888:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:153:
139662870623888:error:0D068066:asn1 encoding routines:ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1314:
139662870623888:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=RSA
139662870623888:error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib:rsa_ameth.c:115:
139662870623888:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:153:
139662870623888:error:0D068066:asn1 encoding routines:ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1314:
139662870623888:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=PKCS8_PRIV_KEY_INFO
139662870623888:error:0907B00D:PEM routines:PEM_READ_BIO_PRIVATEKEY:ASN1 lib:pem_pkey.c:132:
Ele também falhou ao carregar a chave, mas agora falhou no analisador asn1, nada sobre a senha.
De alguma forma, posso obter a versão não criptografada da chave e usar outras ferramentas para ver o que há de errado?
Vi algumas postagens em que algo mudou e as possíveis causas de chaves aparentemente boas falham ao analisar, mas todas elas funcionaram na versão não criptografada. Mas o único método que vi para decodificar a chave é o acima.
ssh-keygen
usa openssl sob o capô?
ssh-keygen
. Você já tentoussh-keygen
descriptografar também?ssh-keygen -p -f keyfile
alterará a senha em um arquivo de chave (substituirá o arquivo, então crie uma cópia primeiro). Ao especificar uma senha vazia como a nova, ela descriptografará o arquivo.