众所周知,当我们尝试登录远程 Linux 机器时,我们会ssh $remote_machine
输入密码。
如果远程计算机已从头开始重新安装,那么我们应该收到以下消息:
警告:远程主机标识已更改!
对于一些测试,我们希望在不重新安装远程计算机的情况下模拟这种情况,以便获取错误消息
我需要在远程计算机上配置什么才能在不重新安装计算机的情况下获取此消息? (仅用于测试)
答案1
ssh 客户端检查远程服务器的主机密钥,如果它与客户端之前保存的内容发生更改,则会发出警告。在服务器(远程主机)上,这些主机密钥通常存储在:
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_ecdsa_key
/etc/ssh/ssh_host_ed25519_key
/etc/ssh/ssh_host_rsa_key
您可以编辑这些内容以触发此警告。大多数时候,使用 ECDSA 密钥。因此,ssh_host_ecdsa_key
在服务器上进行编辑应该足以触发警告。
另一种方法是known_hosts
在客户端上编辑该文件,但现代版本的 SSH 仅保存远程主机名的哈希值,因此找到要修改的正确行将需要一些工作。