Dokumen ini menjelaskan penyebab dan solusi untuk error "error: Unable to load host key: /etc/ssh/ssh_host_rsa_key" saat Anda menghubungkan ke instans Linux melalui SSH.
Gejala
Anda tidak dapat terhubung ke instans Linux menggunakan SSH. Setelah masuk ke instans melalui Virtual Network Computing (VNC) dan menjalankan perintah cat /var/log/secure atau cat /var/log/messages untuk memeriksa log, Anda melihat pesan error seperti berikut.
error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
error: @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
error: Permissions 0777 for '/etc/ssh/ssh_host_rsa_key' are too open.
error: It is required that your private key files are NOT accessible by others.
error: This private key will be ignored.
error: Unable to load host key "/etc/ssh/ssh_host_rsa_key": bad permissions
error: Unable to load host key: /etc/ssh/ssh_host_rsa_keyerror: Unable to load host key "/etc/ssh/ssh_host_rsa_key": invalid format
error: Unable to load host key "/etc/ssh/ssh_host_rsa_key": invalid format
error: Unable to load host key: /etc/ssh/ssh_host_rsa_key
error: Unable to load host key "/etc/ssh/ssh_host_ecdsa_key": invalid format
error: Unable to load host key "/etc/ssh/ssh_host_ecdsa_key": invalid format
error: Unable to load host key: /etc/ssh/ssh_host_ecdsa_keyPenyebab
Masalah ini terjadi jika daemon sshd tidak dapat memuat SSH host key karena file kunci pada instans tidak valid. Penyebab umum meliputi:
Izin (permissions) untuk file SSH host key salah.
Sebagai contoh, izin default untuk file kunci privat adalah
600. Jika Anda menetapkan nilai yang lebih longgar, seperti777, pengguna lain dapat membaca atau mengubah file tersebut. Layanan SSH menganggap hal ini sebagai risiko keamanan dan mengabaikan kunci tersebut, sehingga menyebabkan koneksi gagal.File SSH host key rusak, dihapus, atau dimodifikasi secara tidak sah.
Solusi
Untuk mengatasi masalah ini, buat ulang file SSH host key.
Hubungkan ke instans Linux menggunakan VNC.
Untuk informasi selengkapnya, lihat Ikhtisar metode koneksi.
Buat ulang file host key.
sudo rm -f /etc/ssh/ssh_host_* sudo /usr/bin/ssh-keygen -A sudo chmod 600 /etc/ssh/ssh_host_* sudo chmod 644 /etc/ssh/*.pubJalankan perintah berikut untuk memverifikasi bahwa file kunci telah dibuat.
ls -l /etc/ssh
Restart layanan SSH.
sudo systemctl restart sshd.service
Langkah selanjutnya
Setelah membuat ulang host key, Anda mungkin mengalami error berikut saat menghubungkan ke instans melalui SSH. Error ini terjadi karena mesin lokal Anda menyimpan cache sidik jari host key lama. Untuk mengatasi masalah ini, lihat Apa yang harus saya lakukan jika muncul error "Host key verification failed" saat saya menggunakan SSH untuk menghubungkan ke instans Linux?.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
ae:6e:68:4c:97:a6:91:81:11:38:8d:64:ff:92:13:50.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:70
RSA host key for x.x.x.x has changed and you have requested strict checking.
Host key verification failed.