尝试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来获取指纹以及如何检查指纹呢?
2
没有已知的高价值,您将无法检查。仅在第一次启动SSHd时才写下来,并生成密钥,并对照该已知合理值进行检查。
我编辑了您的问题。本网站仅接受有关专业商业环境的问题。家庭网络问题不在这里,我试图通过编辑保存您的问题。目前,您有一个投票反对您的问题,以便以此为基础关闭该问题。
—
彼得说恢复莫妮卡
@ user186340“您仅在第一次启动SSHd时才将其写下来”似乎确实如此。如果您可以访问运行SSHd的计算机,则可以
—
jamadagni
/etc/ssh/ssh_host_ecdsa_key.pub
获取指纹。我已经做了。