서버에 ssh하려고 할 때 잘 알려진 경고 메시지가 나타납니다.
$ 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.
그리고 나는 왜 그런 서버의 IP를 변경했기 때문에 알고 있습니다. 그러나 그렇지 않은 경우 원격 호스트가 보낸 ECDSA 키의 지문을 어떻게 확인할 수 있습니까?
나는 그렇게하려고 노력했다.
echo -n ipofthehost | sha256sum
그러나 나는 같은 지문을 얻지 못합니다. 또한 aws에서와 같은 "hostname, ip"종류를 시도했지만 일치하지 않습니다.
known_hosts 파일에서 입구를 삭제하고 다시 ssh하려고하면 성공하고 다음을 알려줍니다.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx/xxxxxxx.
Are you sure you want to continue connecting (yes/no)?
지문을 얻기 위해 sha256sum을 적용하는 방법은 무엇이며 어떻게 확인할 수 있습니까?
/etc/ssh/ssh_host_ecdsa_key.pub
지문을 얻을 수 있습니다 . 난 그냥했다.