服务器上的不同SSH指纹。 (中间人攻击?)

当我尝试从我的英国笔记本电脑ssh到德国的服务器时,我得到:

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

我从〜/ .ssh / known_hosts中删除了相应的行,然后再次ssh'ed。 在服务器上(通过SSHterminal)我执行:

 ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub 

然后从我的笔记本电脑我做到:

 ssh-keyscan -p 22 -t rsa my_domain_or_ip.com > /tmp/ssh_host_rsa_key.pub ssh-keygen -l -f /tmp/ssh_host_rsa_key.pub 

当我copare结果时,我看到指纹是不同的! 证书的长度也不同(在服务器上是2048,但远程扫描显示为1024)。 DSA指纹也不同。

问题可能不在于我的本地networking,因为服务器ip的arping返回0结果。 我问了一个波兰的朋友为我执行相同的命令,他得到了同样的结果。

有什么想法发生了什么?

编辑:当我SSH到服务器,并执行:

 ssh-keyscan -p 22 -t rsa 127.0.0.1 > /tmp/ssh_localhost_rsa_key.pub ssh-keygen -l -f /tmp/ssh_localhost_rsa_key.pub 

那么我看到指纹仍然不同! 然后当我在服务器上做:

 argping -c 5 server_ip 

我得到0回应。

这很奇怪!

编辑2(摘要):

 username@server:~$ ssh-keyscan -p 22 127.0.0.1 > /tmp/rsa.tmp # 127.0.0.1 SSH-1.99-OpenSSH_33.33 username@server:~$ ssh-keygen -lf /tmp/rsa.tmp 1024 12:................................. 127.0.0.1 (RSA) username@server:~$ ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub 2048 32:................................. /etc/ssh/ssh_host_rsa_key.pub (RSA) 

caching的密钥更改可以由几个原因解释:

  1. 你真的被坐在你和你的服务器之间的人攻击,拦截你的会话。
  2. 您的服务器IP映射到多个真实服务器,并且您最近切换到另一台计算机。 当您连接到可在两台服务器之间切换的VIP时,可能会发生这种情况。
  3. 您的服务器系统最近已经重新安装了,它更改了SSH密钥。

你应该能够确定这是否正常。

问题是有人利用一个或多个运行的服务攻击我的服务器。 解决办法是不幸地重新安装整个系统(我担心有人可能会留下一些后门)。

我这次也跟着linux安全提示 。