Jadi beberapa waktu yang lalu saya mengatur server pada AWS, dan menggunakan kunci SSH yang dihasilkan. Saya menyimpan kunci ke Lastpass, dan telah berhasil mengambilnya dari sana sebelumnya, dan membuatnya berfungsi. Namun, setelah mencobanya lagi hari ini, saya tidak bisa membuatnya bekerja.
-rw------- 1 itsgreg users 1674 Jun 6 12:51 key_name
Saya sudah mencoba ssh -i key_name
, ssh-keygen -f key_name
tetapi tidak ada yang berhasil, saya selalu mendapatkan pesan kesalahan ini:
Load key "key_name": invalid format
Apakah ada cara untuk memperbaikinya?
----BEGIN RSA PRIVATE KEY-----
dan diakhiri dengan-----END RSA PRIVATE KEY-----
. Plus itu dulu berfungsi.Apa yang saya lakukan untuk memperbaiki masalah ini adalah yang saya gunakan untuk mengonversi file PPK menggunakan
PuttyGen
.Pertama memuat
urkey.PPK
, lalu pada menu konversi, klik ekspor ke format file openssh. Ini akan membuat file kunci baru.sekarang,
ssh -i "newkey" [email protected]
Selesai Semoga ini bisa membantu.
sumber
Saya meminta openssh untuk menggunakan file identitas tertentu dengan menetapkannya dalam file .ssh / config.
Konfigurasi kerja asli telah
Ini berhenti berfungsi tanpa perubahan. Dengan sedikit berpikir saya mengganti "path ke file kunci publik" di atas dengan "path ke file kunci pribadi". Itu berhasil. Alasannya adalah bahwa file kunci publik dan pribadi memiliki nomor terkait peudoprime besar sesuai algoritma RSA. Jika Anda mengganti file kunci pribadi dengan file kunci publik, angka-angka kriptografis ini tidak akan diekstraksi dengan benar dari blok base64 yang disimpan dalam file-file kunci. Tampaknya beberapa versi ssh dapat mengetahui ekstensi .pub dan menggunakannya untuk mengidentifikasi file kunci pribadi yang benar - dan versi lain tidak melakukannya. Ini adalah cara lain kesalahan ini bisa terjadi. Semoga ini bisa membantu seseorang.
sumber
config
file setup denganpath_to_public_key
dan semuanya berfungsi. Namun ketika mac melakukan restart keras dan beberapa hari kemudian saya mencoba melakukangit push
, saya mulai mendapatkan kesalahan yang disebutkan di atas. Tetapi ketika saya sekarang mengubahnya kepath_to_private_key
hal-hal yang bekerja ... Hmmm. Tidak yakin mengapa ..Saya memiliki masalah yang sama, dan ternyata saya memiliki pemisah baris Windows-style (CRLF) dalam file untuk beberapa alasan.
Selain itu, file harus diakhiri dengan LF tunggal.
Memperbaiki hal-hal yang dibuat pesolek lagi.
sumber
dos2unix
adalah perintah untuk mengkonversi dari jeda baris CRLF (Windows-style) ke LF (Linux-style).Anda harus mengonversi kunci .ppk Anda menjadi kunci OpenSSH
Inilah cara Anda melakukannya :
sumber
Saya baru saja menemukan ini hari ini ketika sedang menulis beberapa alat penandaan git untuk pipa CI saya.
Inilah perbedaan antara dua kunci saya:
Saya mengubah kode saya seperti ini:
Dan sekarang kunci ssh saya berfungsi.
TL; DR - Saya kira Anda harus memiliki baris baru di akhir kunci pribadi Anda.
sumber
Dalam kasus saya, ternyata saya memiliki baris baru antara "header" awal / akhir dan data utama:
Menghapus baris baru ekstra, jadi itu menjadi
memecahkan masalah saya.
sumber
Gunakan kunci pribadi Anda, bukan kunci publik.
sumber
Saya mempunyai masalah ini karena saya mempunyai kunci di ~ / .ssh yang sebenarnya adalah format yang tidak benar dan saya punya banyak kunci, yang berarti SSH sedang mencoba semuanya, walaupun saya menentukan file identitas saya di perintah. Kebetulan gagal karena hanya bisa mencoba 5 kunci yang saya pikir, dan kemudian meninggalkan saya dengan kesalahan itu, yang sah, hanya untuk file identitas yang salah. Solusinya adalah dengan menggunakan
IdentitiesOnly yes
~ ~ .ssh / config saya.sumber
Saya memiliki kesalahan ini karena ada baris kosong di awal file kunci. Mudah dilewatkan jika Anda
cat
mengeluarkannya.sumber
Ini juga merupakan kesalahan ssh (setidaknya beberapa versi) yang dipancarkan jika Anda memiliki frasa sandi pada kunci pribadi Anda, dan memasukkan frasa sandi yang salah ketika Anda mencoba menghubungkan.
(Secara khusus, ini terjadi pada saya dengan: OpenSSH_7.6p1, LibreSSL 2.6.2, yang merupakan SSH bawaan untuk Mac OS X 10.13.6.)
Jadi periksa kembali apakah Anda menggunakan frasa sandi yang benar, dan CAPS LOCK tidak aktif.
sumber
Pastikan Anda mengganti nama kunci PRIVATE Anda dan menghapus ekstensi file yang menjadi masalah.
Langkah yang saya ambil
Buat kunci publik Anda:
Pastikan Anda berada di direktori yang sama dengan kunci privat Anda
Cara membuat Kunci Publik:
pastikan kunci PUBLIC memiliki ekstensi file .pub
setelah itu berikan izin yang layak untuk alasan keamanan:
LALU bagian terpenting dan alasan Anda mendapat kesalahan "format tidak valid"
Pastikan Anda mengganti nama kunci PRIVATE Anda dan menghapus ekstensi file:
Hapus .pem dari kunci pribadi Anda.
atau jika pada komputer windows ganti nama kunci pribadi, nama yang sama hanya menghapus
.pem
sumber