remote host identification has changed
Bila muncul peringatan sewaktu login ke server lewat SSH

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:EVKTI8rrGbIYimZq8p8payTUAOSDJJADF.
Please contact your system administrator.
Add correct host key in /home/tommy/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/tommy/.ssh/known_hosts:160
ECDSA host key for 192.168.1.1 has changed and you have requested strict checking.
Host key verification failed.

kalo tidak di atasi, kita tidak akan bisa login ke server tersebut. Ada beberapa kemungkinan kenapa muncul peringatan tersebut, sebelumnya akan saya jelaskan secara singkat cara SSH client konek SSH server.

ketika kita menjalankan ssh root@IP-SERVER, client akan menanyakan server key yang dimiliki, lalu disimpan di file ~/.ssh/known_hosts, jadi tiap terhubung ke server yang sama tidak akan ditanyakan apakah key server tersebut dipercaya atau ngga selama key nya sama. Masalah yang terjadi disini adalah anda terhubung ke IP server yang sudah pernah anda simpan, tetapi terdapat perubahan key/fingerprint dari SSH Server yang bisa terjadi karena install ulang, Key nya diubah oleh admin. Hal ini akan sering terjadi bila anda sering testing banyak server di cloud yang sering memberikan IP yang sama sewaktu reinstall.

Solusi REMOTE HOST IDENTIFICATION HAS CHANGED

Pertama check baris ke 160 dari file .ssh/known_hosts seperti yang muncul di error diatas.

$ sed '160q;d' ~/.ssh/known_hosts
# output
192.168.1.1 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIpFvL+wRfTbKYEKmem4EYolUiJDg1XL+VQM0elyC0pYZnS3VB3yl92z+E+Z/BNyfaEuRu+YUPsx+9qS+s0xybs=

ganti 160 diatas dengan baris yang ditampilkan oleh error SSH.

1. Cara Manual

Dengan cara manual menghapus baris tersebut, kita akan menggunakan sed, formatnya

sed -i BARISd FILE

jadi akan saya gunakan

sed -i 160d /home/tommy/.ssh/known_hosts

2. ssh-keygen

Sebenarnya caranya sama dengan manual, sama-sama menghapus baris file yang bermasalah, formatnya

ssh-keygen -R [nama domain atau IP]

jadi saya gunakan

ssh-keygen -R 192.168.1.1

3. Nonaktifkan Key Checking

Cara yang lain adalah dengan menonaktifkan key checking, cara ini sangat tidak direkomendasikan, karena bila terjadi sesuatu pada server tidak akan ada notifikasi. Formatnya adalah

ssh -o "StrictHostKeyChecking=no" [nama domain atau IP]

jadi saya gunakan

ssh -o "StrictHostKeyChecking=no" 192.168.1.1

Login Ulang

Sekarang login ulang ke server untuk menyimpan key yang baru, ini sama seperti anda pertama kali login

$ ssh root@192.168.1.1
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
ECDSA key fingerprint is SHA256:EVKTI8rrGbIYimZq8p8payT0Y06BTMH3YZW/KZzKGW0.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

ketik yes, lalu tekan enter

Join the Conversation

2 Comments

Your email address will not be published. Required fields are marked *

  1. terima kasih. …. ini yang dibetulin komputer laptop windows nya?? atau linux nya?