
Cara Memperbaiki Error File “Offending key in ~/.ssh/known_hosts”
Saat kamu pertama kali connect ke VPS melalui SSH (atau kapanpun dimana ada perubahan key di VPS), kamu akan ditanya untuk menjawab ‘yes’ untuk memvalidasi kamu adalah pemilik asli VPS kamu sendiri. Fitur ini dikontrol oleh parameter SSH bernama ‘StrictHostKeyChecking’. Default-nya StrictHostKeyChecking ini di-set ‘yes’.
Default yes dari setting ‘StrictHostKeyChecking’ ini adalah setting terbaik dari sisi keamanan untuk melindungi sistem kamu dari serangan trojan horse. Jika kamu tidak tahu apa yang kamu lakukan, sebaiknya jangan mengubah StrictHostKeyChecking ini menjadi no.
Terkadang bagus juga menonaktifkan StrictHostKeyChecking ini untuk sementara waktu. Contohnya, ketika pertama kali kamu connect ke banyak VPS, kamu mungkin ingin menonaktifkan fitur StrictHostKeyChecking (yang menanyakan yes untuk host key) dan membiarkan SSH untuk menambahkan semua host key tadi secara otomatis. Lalu kamu bisa mengaktifkan fitur StrictHostKeyChecking ini lagi.
Ketika kamu sudah mengkonfigurasi login ke server tanpa password dan jika VPS selalu mengganti host key karena suatu alasan, kamu mungkin ingin mempertimbangkan setting StrictHostKeyChecking diubah menjadi no sampai masalah pada host key di VPS yang selalu berubah dapat diperbaiki.
Pada command line SSH, kamu bisa melewati fitur pengecekan StrictHostKeyChecking ini seperti pada perintah yang diberikan di bawah ini. Kamu juga bisa mengeset pilihan ini pada file ssh_config.
ssh -o 'StrictHostKeyChecking no' user@host
Jika kamu sedang login ke dalam server untuk pertama kalinya, secara permanen akan ditambahkan RSA key ke dalam list known host tanpa menanyakan kamu.
Tapi jika ada perubahan key (secara normal jika OS (sshd) diinstal ulang, key VPS akan berubah), maka kamu harus menghapus key yang lama seperti screenshot di bawah ini.
Menghapus SSH Key yang Keliru
Error di bawah ini akan tampil ketika key di VPS berubah (setelah sebelumnya kamu sudah coonect ke VPS dengan key yang valid).

Kamu harus menghapus key itu untuk proses ke depannya. Gunakan perintah di bawah ini untuk menghapus key yang keliru tadi.
sed -i '6d' ~/.ssh/known_hosts
Catatan: Ganti 6d sesuai nomor baris key di dalam known_host yang ingin dihapus.
Selamat mencoba! 😉