Saya memiliki server Linux yang setiap kali saya hubungkan menunjukkan kepada saya pesan yang mengubah kunci host SSH:
$ ssh root @ host1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@ @ PERINGATAN: IDENTIFIKASI HOST REMAJA TELAH BERUBAH! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ ITU MUNGKIN BAHWA SESEORANG YANG MELAKUKAN SESUATU NASTY! Seseorang bisa menguping kamu sekarang (serangan man-in-the-middle)! Mungkin juga kunci host RSA baru saja diubah. Sidik jari untuk kunci RSA yang dikirim oleh host jarak jauh adalah 93: a2: 1b: 1c: 5f: 3e: 68: 47: bf: 79: 56: 52: f0: ec0: ec: 03: 6b. Silakan hubungi administrator sistem Anda. Tambahkan kunci host yang benar di /home/emerson/.ssh/known_hosts untuk menyingkirkan pesan ini. Masukkan kunci di /home/emerson/.ssh/known_hosts:377
Kunci host RSA untuk host1 telah berubah dan Anda telah meminta pemeriksaan ketat. Verifikasi kunci host gagal.
Itu membuat saya selama beberapa detik masuk dan kemudian menutup koneksi.
host1: ~ / .ssh # Baca dari host jarak jauh host1: Koneksi diatur ulang oleh rekan Koneksi ke host1 ditutup.
Adakah yang tahu apa yang terjadi dan apa yang bisa saya lakukan untuk menyelesaikan masalah ini?
Jawaban:
Tolong jangan hapus seluruh file known_hosts seperti yang direkomendasikan oleh beberapa orang, ini benar-benar mengosongkan titik peringatan. Ini adalah fitur keamanan untuk memperingatkan Anda bahwa seorang pria dalam serangan tengah mungkin telah terjadi.
Saya sarankan Anda mengidentifikasi mengapa ia berpikir sesuatu telah berubah, kemungkinan besar peningkatan SSH mengubah kunci enkripsi karena kemungkinan celah keamanan. Anda kemudian dapat membersihkan baris tertentu dari file known_hosts Anda:
Ini d eletes baris 377 seperti yang ditunjukkan setelah usus besar dalam peringatan:
Atau Anda dapat menghapus kunci yang relevan dengan melakukan hal berikut
Harap JANGAN bersihkan seluruh file dan pastikan ini adalah mesin yang ingin Anda sambungkan sebelum membersihkan kunci tertentu.
sumber
Saya pikir meskipun beberapa jawaban di sini membahas tindakan yang direkomendasikan dalam pertanyaan OP, itu tidak sepenuhnya menjawab pertanyaan.
Pertanyaannya menyatakan "Bagaimana cara menghapus kunci RSA yang ketat memeriksa SSH dan apa masalahnya di sini?"
Masalahnya di sini adalah, seperti yang disarankan oleh beberapa orang lain, perubahan pada host mungkin karena menginstal ulang server (skenario paling umum). Dan solusi yang disarankan memang untuk menghapus kunci yang menyinggung dari file .ssh / Authorized_key dengan sed inline.
Namun saya tidak melihat jawaban apa pun menjawab bagian spesifik dari pertanyaan " Bagaimana cara menghapus kunci RSA yang ketat memeriksa SSH ".
Anda dapat menghapus pemeriksaan StrictHostKey di file konfigurasi ssh Anda, biasanya disimpan di
~/.ssh/config
.Contoh Host blok disediakan di bawah ini:
Baris yang ditambahkan secara khusus adalah baris terakhir
StrictHostKeyChecking no
yang melakukan apa. Bergantung pada skenario spesifik Anda, ini mungkin berguna bagi Anda, seperti menjalankan beberapa wadah tervirtualisasi pada server khusus, hanya dalam beberapa ips, berhenti dan memulai contoh lain pada ip yang sama.sumber
Cara lain untuk menghapus StrictHostKeyChecking, ketika Anda hanya perlu melakukannya untuk satu server:
sumber
Pertama-tama, apakah ini mesin Anda? Apakah Anda dengan sadar mengubah kunci host? Jika tidak, saya akan sangat khawatir bahwa ada sesuatu yang mengubah data itu.
Kedua, nyalakan debug ssh,
dan lihat apa yang memberitahu Anda, juga coba cari, / var / log / secure dan / var / log / messages di server yang Anda coba sambungkan sebagai petunjuk, sshd memberikan pesan kesalahan yang baik.
Ketiga, apakah mesin ini terhubung ke internet? Haruskah Anda benar-benar mengizinkan login root?
sumber
Anda mendapatkan ini karena sesuatu telah berubah (seperti NIC baru, IP baru, perubahan pada perangkat lunak server, dll). Fokus keamanan memiliki artikel yang bagus tentang perlindungan kunci host SSH .
Hapus saja kunci (menggunakan SFTP atau yang serupa) dari server, dengan mengedit
$HOME/.ssh/known_hosts
file, dan menerima yang baru pada koneksi berikutnya.Koneksi Anda mungkin terputus karena pengaturan StrictHostKeyChecking. Lihat utas ini untuk masalah serupa.
sumber
Seperti 'host' [yang didefinisikan secara luas, itu bisa berupa segalanya mulai dari instal ulang / multiboot ke komputer yang sama sekali berbeda dengan alamat IP yang telah Anda hubungkan sebelumnya, misalnya] tampaknya ssh client telah berubah, itu memberi Anda kesalahan.
Tidak perlu mematikan pemeriksaan ketat, tidak juga penghapusan grosir kunci yang disimpan masuk akal.
Sangat mungkin untuk memiliki dua kunci berbeda yang terdaftar di known_hosts untuk nama host atau alamat IP tertentu; memberi Anda 2 alternatif sesuai dengan apakah Anda berpikir Anda mungkin memerlukan kunci 'lama' yang saat ini disimpan di hosting yang dikenal
Hapus kunci tertentu yang dirujuk, di l377 dari known_hosts untuk OP, atau simpan keduanya
Cara paling sederhana untuk menjaga keduanya, menghindari penghapusan kunci di known_hosts, adalah
lebih banyak jawaban di "Tambahkan kunci host yang benar di known_hosts" / beberapa kunci host ssh per nama host?
sumber