今天,当我尝试从我的Linux笔记本电脑用SSHlogin到Linux服务器时,我收到错误消息:
警告:远程主机标识已更改!
由于我没有更改机器密钥,我做了一个ssh -v看看会发生什么。 我发现我的OpenSSH客户端(SSH-2.0-OpenSSH_7.2p2)接受“主机密钥algorithm:ecdsa-sha2-nistp256”,而在我的known_hosts中有一个相应的服务器的RSA rsa-key 。 ..)。
唯一可能改变的是OpenSSH版本。
我怎样才能使OpenSSH再次要求RSA主机密钥?
PS:错误消息和一些前面的行请求:
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: Server host key: ecdsa-sha2-nistp256 SHA256:k/ADO4oeYIUNdsGBEkKXkggNP5pr3t9QlYSr8GOLSd1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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:k/ADO4oeYIUNdsGBEkKXkggNP5pr3t9QlYSr8GOLSd1. Please contact your system administrator. Add correct host key in /home/nn/.ssh/known_hosts to get rid of this message. Offending RSA key in /home/nn/.ssh/known_hosts:51 remove with: ssh-keygen -f "/home/nn/.ssh/known_hosts" -R server31 ECDSA host key for server31 has changed and you have requested strict checking. Host key verification failed.
您可以使用HostKeyAlgorithms选项请求特定的主机密钥algorithm。 在RSA的CLI中:
ssh -o HostKeyAlgorithms=ssh-rsa <server>
或者在特定Host部分的~/.ssh/config :
HostKeyAlgorithms=ssh-rsa