Tôi đã nhận được thông báo cảnh báo nổi tiếng khi cố gắng ssh vào máy chủ:
$ 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.
Và tôi biết tại sao bởi vì tôi đã thay đổi ip của máy chủ đó. Nhưng nếu không phải vậy, làm cách nào tôi có thể kiểm tra dấu vân tay cho khóa ECDSA được gửi bởi máy chủ từ xa?
Tôi đã cố gắng để làm như vậy bằng cách:
echo -n ipofthehost | sha256sum
Nhưng tôi không có cùng dấu vân tay. Tôi cũng đã thử loại "hostname, ip" giống như trong aws nhưng tôi không có kết quả phù hợp.
Nếu tôi xóa lối vào khỏi tệp know_hosts của mình và tôi cố gắng ssh một lần nữa, nó sẽ thành công và thông báo như sau:
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx/xxxxxxx.
Are you sure you want to continue connecting (yes/no)?
Vì vậy, những gì nó được áp dụng sha256sum để có được dấu vân tay và làm thế nào tôi có thể kiểm tra nó?
/etc/ssh/ssh_host_ecdsa_key.pub
để lấy dấu vân tay. Tôi vừa làm.