Soru Parola bilmeme rağmen özel anahtarın şifresi çözülemiyor


Sanırım sorunum, anahtarla ilgili bir sorun olduğu gerçeğine iner ama bunu çözümlemem gerekirse, daha fazla araştırma için şifresini çözemem. Ama emin değilim.

Standart yöntem kullanmaya çalışıyorum:

openssl rsa -in ./id_rsa -out ./id_rsa.decrypted

Ben parola biliyorum, çünkü yanlış bir girdi girdiğimde:

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

"kötü şifre çözme"oldukça açık. Şimdi, görünüşte iyi bir şifreyi girdiğimde geri dönüyorum:

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:

Ayrıca, anahtar yükleme başarısız oldu, ancak şimdi asn1 ayrıştırıcı üzerinde başarısız, parola hakkında hiçbir şey.

Bir şekilde şifrelenmemiş anahtar sürümü alabilir miyim ve neyin yanlış olduğunu görmek için diğer araçları kullanabilir miyim?

Bir şeyin değiştiğini ve iyi görünen tuşların olası nedenlerinin ayrıştırılamayacağı bazı yayınlar gördüm, ancak hepsi şifrelenmemiş sürümde çalıştı. Ama sadece bir metot olarak gördüğüm yöntem, yukarıda yazılanın anahtarıdır.


7
2018-03-24 21:12


Menşei


Ad, dosyanın dosya tarafından oluşturulmuş olabileceğini ima ediyor ssh-keygen. Kullanmayı denediniz mi ssh-keygen şifresini çözmek için? ssh-keygen -p -f keyfile Bir anahtar kelimenin parolasını değiştirir (dosya üzerine yazılır, bu nedenle önce bir kopya oluşturur). Yeni bir parola olarak boş bir parola belirterek, dosyanın şifresini çözer. - kasperd
@kasperd Evet, kötü bir parola yazıyor. Diğer her araç, openssl haricinde bir hata olduğunu söylüyor. Ama openssl davranışından bence bu iyi bir şey, bir süredir anahtar kullanmıyorum, ama "standart" şifrelerimden biri, bu yüzden uygun olurdu. yok mu ssh-keygen kaputun altında openssl kullanın? - luk32
@dawud Denedim, ama bence bu araç girdinin zaten çözüldüğünü varsayar, parola sormaz ve "başlık çok uzun" der. Bence onlar neyin yanlış olduğunu görmek için bir sonraki adım. sonra Şifresi çözülmüş sürümü aldım. - luk32
Semptomları çoğaltmak için dosyanın bir kopyasını ve doğru şifreyi isteyebilirdim. Fakat bu yaklaşımda bazı sorunlar görebiliyordum. Bu yüzden sadece burada tahmin ediyorum ve tahminlerimin size sormaktan başka bir şey olup olmadığını test etmenin iyi bir yolu yok. - kasperd
Openssl decryption komutunu kasıtlı olarak bozulmuş bir dosyada test ederken, aynı hatayı hem doğru hem de geçersiz bir şifre ile aldım. Bu, şifrelenmiş dosyanın rasgele bit oranlarından dolayı zamanla bozulduğu bir durum olma ihtimalinden şüphe ediyor. - kasperd


Cevaplar:


Özel anahtarınızın değiştirildiğine inanıyorum, aynı hata iletisini, yalnızca oluşturduğum bir örnek geçiş deyimiyle korunan anahtardaki tek bir karakteri değiştirerek kopyalayabildiğime inanıyorum.

Bunu aşağıdaki gibi yeniden üretebilirsiniz -

  1. Şifre şifreli özel anahtar oluştur
  2. Çalıştığından emin olmak için özel anahtarı şifresini çözün.
  3. Şifrelenmiş özel anahtarı içeren dosyanın içindeki tek bir karakteri değiştirin.
  4. Şimdi şifresini çözmeye çalış.
[testuser @ whitehat .ssh] $ openssl rsa -in id_rsa -out id_rsa.decrypted
İd_rsa için şifre girin:
RSA anahtarı yazma
[testuser @ whitehat .ssh] $ ls -al id_rsa *
-rw -------. 1 testisit testisit 951 Mar 24 15:01 id_rsa
-rw-RW-r--. 1 testisite testuser 887 Mar 24 15:02 Instagram Hesabındaki Resim ve Videoları id_rsa.decrypted
-rw-r - r--. 1 testisite testisitesi 236 Mar 24 14:52 id_rsa.pub
[testuser @ whitehat .ssh] $ vim id_rsa
[testuser @ whitehat .ssh] $ openssl rsa -in id_rsa -out id_rsa.decrypted
İd_rsa için şifre girin:
Özel Anahtar yüklenemiyor
139900595279688: hata: 0D07207B: asn1 kodlama rutinleri: ASN1_get_object: başlık çok uzun: asn1_lib.c: 150:
139900595279688: hata: 0D068066: asn1 kodlama rutinleri: ASN1_CHECK_TLEN: hatalı nesne başlığı: tasn_dec.c: 1306:
139900595279688: hata: 0D07803A: asn1 kodlama rutinleri: ASN1_ITEM_EX_D2I: iç içe asn1 hatası: tasn_dec.c: 381: Tür = RSA
139900595279688: hata: 04093004: rsa rutinleri: OLD_RSA_PRIV_DECODE: RSA lib: rsa_ameth.c: 115:
139900595279688: hata: 0D07207B: asn1 kodlama rutinleri: ASN1_get_object: başlık çok uzun: asn1_lib.c: 150:
139900595279688: hata: 0D068066: asn1 kodlama rutinleri: ASN1_CHECK_TLEN: hatalı nesne başlığı: tasn_dec.c: 1306:
139900595279688: hata: 0D07803A: asn1 kodlama rutinleri: ASN1_ITEM_EX_D2I: iç içe asn1 hatası: tasn_dec.c: 381: Tür = PKCS8_PRIV_KEY_INFO
139900595279688: hata: 0907B00D: PEM rutinleri: PEM_READ_BIO_PRIVATEKEY: ASN1 lib: pem_pkey.c: 132:
[testuser @ whitehat .ssh] TL

OS ve openssl sürüm bilgisi

[testuser @ whitehat /] $ lsb_release -a
LSB Sürüm: çekirdek-4.0-amd64: çekirdek-4.0-noarch: grafik-4.0-amd64: grafik-4.0-noarch: yazdırma-4.0-amd64: yazdırma-4.0-noarch
Distribütör Kimliği: Bilimsel
Açıklama: Bilimsel Linux sürümü 6.2 (Karbon)
Yayın: 6.2
Kod Adı: Karbon
[testuser @ whitehat /] $ rpm -q openssl
Openssl-1.0.1e-30.el6_6.5.x86_64

9
2018-03-24 22:06





Buraya kadar geldim çünkü aynı problemi yaşadım, fakat benimki AWS ACM sertifikası ihracat arayüzünden kaynaklanıyordu. (Özel CA sertifikaları bir parola ile dışa aktarılabilir)

Kullandığım belirli parola hakkında bir şey ... Sorunun tam olarak neden olduğundan emin değilsiniz, ancak uzunluk veya sembollerin kullanılması muhtemeldir.

Sonuçta beklediğim şeye farklı / kısaltılmış bir parola ile anahtarım vardı.

Umarım birisine yardım eder ...


1
2018-04-20 05:11