模拟远程主机识别警告

模拟远程主机识别警告

我需要模拟警告:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!  @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

我有两台 Linux 机器,当我ssh从 Linux1 到 Linux2 时,ssh接受并报告没有问题。

但因为一些测试,我想模拟 -标识已更改错误

那么我需要在远程服务器上编辑什么才能产生问题?

到目前为止我做了什么是更改两台机器上的 knpwn_hosts 但它不会产生问题。

我明白了:

 key_read: uudecode AAAAB3NzaC1y3jrzG62xyHrb3qxc9eYpg1Cp1PrRElTFfYbEHsRfTZU21S8kO5/Tq+ED8=
 failed
 key_read: uudecode AAAAB3NzaC1y3jrzG62xyHrb3qxc9eYpg1Cp1PrRElTFfYbEHsRfTZU21S8kO5/Tq+ED8=
 failed
 The authenticity of host 'ste1 (10.106.164.111)' can't be established.
 RSA key fingerprint is 84:82:2b:80:ca:3f:57:c7:8c:14:44:dd:b9:70:e5:d8.
 Are you sure you want to continue connecting (yes/no)? 

答案1

交换/更改主机条目,~/.ssh/known_hosts以便为您的主机列出不正确的 IP 地址:

从:

192.168.0.10 ecdsa-sha2-nistp256 AAAAE2...kFr3pqkY=
192.168.0.20 ecdsa-sha2-nistp256 AAAAE2...A82zdls0=

到:

192.168.0.20 ecdsa-sha2-nistp256 AAAAE2...kFr3pqkY=
192.168.0.10 ecdsa-sha2-nistp256 AAAAE2...A82zdls0=

(注意IP地址已交换)

然后会给你:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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

当客户端提供的密钥与服务器上的密钥配对但 IP 地址不同时,您会收到此警告。然后假设您是中间人攻击的对象并发出警告。

答案2

一种方法是更改​​远程服务器上的密钥,这样当它们根据文件中的条目进行验证时,known_hosts它就不会匹配并给您该消息。

使用以下命令在远程服务器上重新生成主机密钥:

ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa -b 521

然后重新启动 SSH 服务器。

您还可以编辑known_hosts客户端上的文件以包含另一台服务器的条目,但包含您想要获取消息的远程服务器的主机名。

答案3

也许最简单的方法就是复制另一个主机的密钥。

例如,如果您有一个known_hosts类似以下内容的文件

192.168.1.1 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCrkL8HEVk8VP3r...
192.168.1.2 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeL...

并且您想192.168.1.2显示错误,只需复制192.168.1.1的主机密钥,所以known_hosts现在看起来像

192.168.1.1 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCrkL8HEVk8VP3r...
192.168.1.2 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCrkL8HEVk8VP3r...

答案4

您可以做的是重新生成服务器密钥(如果需要恢复到它们,请在备份之前的密钥后):

ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key 

编辑:@jjlin 答案绝对不那么打扰

相关内容