Bir sunucuya ssh göndermeye çalışırken bilinen uyarı iletisini aldım:
$ ssh whateverhost
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:xxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx/xxxxxxx.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/user/.ssh/known_hosts:10
ECDSA host key for ipofmyhost has changed and you have requested strict checking.
Host key verification failed.
Ve nedenini biliyorum çünkü bu sunucunun ipini değiştirdim. Ama öyle olmasaydı, uzak ana bilgisayar tarafından gönderilen ECDSA anahtarının parmak izini nasıl kontrol edebilirdim?
Bunu yapmaya çalıştım:
echo -n ipofthehost | sha256sum
Ama aynı parmak izini anlamıyorum. Aynı zamanda "hostname, ip" yi de aynı şekilde aws'ta denedim ama eşleşmedim.
Girişimi known_hosts dosyamdan silersem ve tekrar ssh yapmaya çalışırsam, başarılı olur ve aşağıdakileri söyler:
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx/xxxxxxx.
Are you sure you want to continue connecting (yes/no)?
Peki parmak izi almak için sha256sum'u ne uygulıyor ve nasıl kontrol edebilirim?
/etc/ssh/ssh_host_ecdsa_key.pub
parmak izini almak için yapabilirsiniz . Daha yeni yaptım.