GNU/Linux >> Belajar Linux >  >> Linux

ssh:Kesalahan memuat kunci ./id_rsa:format tidak valid

Secara tradisional OpenSSH menggunakan format kunci privat yang sama identik dengan format PEM lama yang digunakan oleh OpenSSL. (Karena menggunakan OpenSSL untuk mem-parsing kunci, format PKCS#8 yang lebih baru juga akan diterima.)

Jadi masalahnya bisa salah satu dari:

  1. Versi OpenSSL Anda menolak memuat format kunci ini. Mungkin itu secara tidak sengaja mengaktifkan mode FIPS dan menolak algoritme apa pun kecuali bagian dari validasi FIPS aslinya?

    Coba muat kunci ke dalam openssl alat baris perintah (yang, ya, mungkin juga ditautkan ke libcrypto yang berbeda , dan Anda harus memeriksa dengan ldd ):

    openssl rsa -noout -text < id_rsa
    openssl pkey -noout -text < id_rsa
    

    Coba ubah ke format PKCS#8:

    umask 077
    openssl pkey < id_rsa > id_rsa.pkcs8
    ssh-add id_rsa.pkcs8
    
  2. OpenSSH Anda dibuat tanpa dukungan OpenSSL. Meskipun ssh -V mengatakan dukungan telah diaktifkan, itu tidak secara otomatis berarti ssh-add binernya sama – mungkin berasal dari instalasi parsial yang berbeda.

    Gunakan type -a ssh dan type -a ssh-add untuk membandingkan lokasi pemasangan.

    Setelah Anda mengetahui jalurnya, gunakan ldd /usr/bin/ssh-add untuk memverifikasi bahwa itu ditautkan ke libcrypto.so (perpustakaan kriptografi OpenSSL).

Jika tidak ada yang berhasil sama sekali, coba ubah kunci Anda ke format berpemilik OpenSSH baru menggunakan... Putty. Instal putty paket untuk Fedora, dan gunakan:

puttygen id_rsa -o id_rsa.newformat -O private-openssh-new
ssh-add id_rsa.newformat

Juga aneh:GNOME entah bagaimana berhasil menambahkan kunci saat login dengan kuda laut.

Versi GNOME Keyring yang lebih lama memiliki salinan internal dari kode agen SSH dan tidak bergantung pada sistem OpenSSH. Jadi mereka akan menerima kunci yang tidak akan diterima oleh OpenSSH Anda. (Namun di sisi lain, ini berarti kelambatan yang parah dalam hal dukungan fitur (seperti kunci Ed25519), dan Keyring GNOME terbaru hanya menggunakan sistem ssh-agent sebagai gantinya.)


Saya mendapatkan pesan kesalahan yang sama saat meneruskan kunci privat melalui variabel pipeline CI di Gitlab.

Kesalahan disebabkan oleh tidak adanya karakter baris baru di akhir variabel dan telah diperbaiki dengan menambahkannya secara manual.


Dalam kasus saya, masalahnya disebabkan oleh karakter baris akhir yang salah dalam file id_rsa. Setelah menyalin konten file, editor teks Windows ingin membantu saya dan mengubah EOL menjadi CR LF.


Linux
  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Bash =~ Regex Dan Https://regex101.com/?

  3. Ssh – Diberikan Kunci Ssh Pribadi, Bagaimana Cara Memulihkan Kunci Publik?

  1. Kesalahan Kunci Ssh Tidak Valid Di Juju Saat Menggunakannya Dengan Maas?

  2. Tidak Dapat Menjalankan Aplikasi X Melalui SSH di Linux

  3. kesalahan insmod:memasukkan './hello.ko':-1 Format modul tidak valid

  1. id_rsa.pub file Kesalahan SSH:format tidak valid

  2. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  3. dapatkan sidik jari kunci SSH dalam format hex (lama) pada versi baru openssh