Ao tentar alterar minha frase secreta da chave privada SSH, recebo a seguinte mensagem de erro de ssh:
Load key "/home/me/.ssh/id_rsa.pub": invalid format
A criptografia de senha ainda funciona e minha senha está correta, evidenciada pelo fato de que, quando tento alterar a senha e inserir uma senha errada, obtenho
$ ssh-keygen -p -f id_rsa.broken
Enter old passphrase:
Failed to load key id_rsa.broken: incorrect passphrase supplied to decrypt private key
No entanto, se eu digitar a senha correta, recebo:
$ ssh-keygen -p -f id_rsa.broken
Enter old passphrase:
Failed to load key id_rsa.broken: invalid format
É por isso que tenho certeza de que a nova senha está correta. Eu também tentei processar minha chave usando o OpenSSL, mas recebo muitos erros (pelo menos com mais detalhes):
openssl rsa -text -in id_rsa.broken -out id_rsa.openssl-decrypt
Enter pass phrase for id_rsa.broken:
unable to load Private Key
140674488831512:error:0D0680A8:asn1 encoding
routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1199:
140674488831512:error:0D07803A:asn1 encoding
routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:374:Type=RSA
140674488831512:error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA
lib:rsa_ameth.c:121:
140674488831512:error:0D0680A8:asn1 encoding
routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1199:
140674488831512:error:0D07803A:asn1 encoding
routines:ASN1_ITEM_EX_D2I:nested asn1
error:tasn_dec.c:374:Type=PKCS8_PRIV_KEY_INFO
140674488831512:error:0907B00D:PEM
routines:PEM_READ_BIO_PRIVATEKEY:ASN1 lib:pem_pkey.c:141:
NOTA: O autor original desta questão viu erros semelhantes, mas não idênticos:
140405067433728:error:0D07209B:asn1 encoding
routines:ASN1_get_object:too long:crypto/asn1/asn1_lib.c:91:
140405067433728:error:0D068066:asn1 encoding
routines:asn1_check_tlen:bad object
header:crypto/asn1/tasn_dec.c:1100:
140405067433728:error:0D07803A:asn1 encoding
routines:asn1_item_embed_d2i:nested asn1
error:crypto/asn1/tasn_dec.c:274:Type=RSA
140405067433728:error:04093004:rsa routines:old_rsa_priv_decode:RSA
lib:crypto/rsa/rsa_ameth.c:72:
140405067433728:error:0D07209B:asn1 encoding
routines:ASN1_get_object:too long:crypto/asn1/asn1_lib.c:91:
140405067433728:error:0D068066:asn1 encoding
routines:asn1_check_tlen:bad object
header:crypto/asn1/tasn_dec.c:1100:
140405067433728:error:0D07803A:asn1 encoding
routines:asn1_item_embed_d2i:nested asn1
error:crypto/asn1/tasn_dec.c:274:Type=PKCS8_PRIV_KEY_INFO
140405067433728:error:0907B00D:PEM
routines:PEM_read_bio_PrivateKey:ASN1 lib:crypto/pem/pem_pkey.c:86:
A minha chave privada é assim e não consigo ver nada de errado:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,somehexvaluewith16digits
someblockofcharacterswith24linesand64charactersperline
-----END RSA PRIVATE KEY-----
O que eu não entendo é como essa chave foi arruinada em primeiro lugar. Posso garantir que não fiz nenhuma edição manual quando alterei minha senha. Tenho certeza de que tudo que eu costumava editar era o programa ssh-keygen
.
Alguém tem uma ideia do que poderia ter corrido mal e como recuperar minha chave? A chave privada ainda parece funcionar ao fazer conexões SSH com hosts conhecidos.
Tags ssh openssl ssh-keygen