openssh 请求 dsa

openssh 请求 dsa

今天,当我尝试使用 SSH 从我的 Linux 笔记本电脑登录到 Linux 服务器时,收到了错误消息:

警告:远程主机标识已更改!

由于我没有更改机器密钥,所以我做了一个ssh -v查看会发生什么的情况。我发现我的 OpenSSH 客户端 (SSH-2.0-OpenSSH_7.2p2) 接受“主机密钥算法:ecdsa-sha2-nistp256”,而在我的 known_hosts 中有一个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.

答案1

您可以使用选项请求特定的主机密钥算法HostKeyAlgorithms。在 RSA 的 CLI 中:

ssh -o HostKeyAlgorithms=ssh-rsa <server>

或者在~/.ssh/config具体Host部分下:

HostKeyAlgorithms=ssh-rsa

相关内容