Masalah koneksi SSH dengan " verifikasi kunci Host gagal..."kesalahan

Saya dapat terhubung ke mesin Ubuntu lain di LAN saya melalui SSH. Pada kedua kemudian PC saya diinstal openssh-server tetapi dari komputer Ubuntu lain saya tidak dapat terhubung ke PC saya melalui SSH dan saya mendapat kesalahan ini:

Verifikasi kunci Host gagal...

"Verifikasi kunci Host gagal" berarti bahwa host kunci dari remote host berubah.

SSH menyimpan kunci host dari host jarak jauh di ~/.ssh/known_hosts. Anda dapat mengedit file teks itu secara manual dan menghapus kunci lama (Anda dapat melihat nomor baris dalam pesan kesalahan), atau menggunakan

ssh-keygen -R hostname

Dari halaman manual:

- R nama host
Menghapus semua kunci milik hostname dari file known_hosts. Opsi ini berguna untuk menghapus host hash .

(yang saya pelajari dari jawaban untukApakah mungkin untuk menghapus kunci host tertentu dari file SSH & # 39; s known_hosts?).

Jika Anda menjalankan dalam situasi remote / scripting tertentu di mana Anda tidak memiliki akses interaktif ke prompt-to-add-hostkey, bekerja di sekitarnya seperti ini:

$ ssh -o StrictHostKeyChecking=no user@something.example.com uptime

Peringatan: ditambahkan secara permanen 'something.example.com, 10.11.12.13' (RSA) ke Daftar host yang dikenal.

Juga kadang-kadang ada situasi ketika Anda bekerja pada konsol serial, kemudian memeriksa perintah di atas dalam mode verbose -v akan menunjukkan kepada Anda /dev/tty tidak ada, sementara itu tidak.

ssh -v user@hostname

Dalam kasus di atas hanya menghapus /dev/tty dan membuat symlink dari /dev/ttyS0 untuk /dev/tty.

rm /dev/ttyln -s /dev/ttyS0 /dev/tty

Sebagai alternatif, tambahkan id_rsa.pub ke lokasi terpencil, sehingga password tidak diminta dan Anda mendapatkan akses login.

Dalam kasus saya, ini disebabkan oleh masalah udev - tidak ada /dev/tty simpul perangkat. Solusi bagi saya adalah hanya:

sudo mknod -m 666 /dev/tty c 5 0

Di terminal:

ssh -o StrictHostKeyChecking=no -i YourPublicKey.pem user@example.com uptime

Pesan berikut, atau serupa, akan muncul:

Warning: Permanently added 'example.com, XX.XXX.XXX.XX' (ECDSA) to the list of known hosts. 00:47:37 up 3 min,  0 users,  load average: 0.00, 0.00, 0.00

Kemudian, sambungkan ke EC2 Anda seperti biasa:

ssh -i YourPublickey.pem user@example.com

Mungkin Anda hanya perlu memasukkan "Ya" ketika ssh mengkonfirmasi anda ingin melanjutkan connectting.

Seperti di bawah ini.

The authenticity of host 'xxx' can't be established.ECDSA key fingerprint is yyy.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'xxx' (ECDSA) to the list of known hosts.Enter passphrase for key '/Users/ysy/.ssh/id_rsa':

Kemudian masukkan kata sandi Anda.

Harap perhatikan " apakah Anda yakin ingin terus terhubung (Ya/tidak)? ya". Anda harus memasukkan Ya, tidak masuk.

Anda harus meletakkan kunci rsa dari host target ke host sumber /home/user/.ssh/known_hosts dengan menjalankan ini pada target

ssh-keyscan -t rsa @targethost

Yah, itu hanya karena ubuntu kedua membutuhkan koneksi dengan kunci dan bukan kata sandi.

Saya sarankan Anda menggunakan sudo dpkg-reconfigure openssh-server pada pc Anda, dan kemudian harus bekerja dengan baik. Ini akan mengatur ulang konfigurasi untuk openssh dan harus kembali ke otentikasi kata sandi default.

Kemungkinan kedua adalah bahwa sudah ada kunci untuk ubuntu Anda yang lain di PC Anda, dan itu berubah sehingga tidak dikenali lagi. Dalam hal ini, Anda harus mengedit file .ssh/authorized_keys untuk menghapus baris bermasalah yang mengidentifikasi ubuntu Anda.

Ini adalah utas lama dan saya baru saja menemukan jawaban ini, saya hanya akan menambahkan apa yang saya lakukan untuk menyelesaikan ini.

ssh-keygen -f "/home/USER/.ssh/known_hosts" -R HOSTNAME

Saya hanya melihat pesan kesalahan yang dilemparkan kepada saya dan dikatakan menjalankan perintah itu untuk menghapusnya dari daftar host. Setelah itu saya melakukan hal berikut:

ssh-copy-id HOSTNAME

Daripada saya mengikuti petunjuk dari sana sampai saya bisa ssh ke server.

Anda harus mengubah kunci Anda dengan cara ini: dari kesalahan yang Anda berikan, Temukan Kunci host mana yang diubah forexample: menyinggung kunci ECDSA di /Users/user-name/.ssh / known_hosts: 5kata kunci ke-5 berubah, jadi lakukan ini:

sed -i '5d' ~/.ssh/known_hosts

Pemberitahuan: Anda harus root atau memiliki hak istimewa untuk sudo.

D Anda menggunakan nama host atau IP-alamat?

Tidak mirip tetapi saya mendapat kesalahan yang sama tetapi karena masalah yang berbeda: ubuntu - Managing multiple servers behind a firewall with SSH reverse tunnel - Server Fault

Ini bukan masalah khusus Ubuntu. Dapat terjadi dengan ’ ssh ’ apa pun dari baris perintah.