首页 > 解决方案 > SSH 到树莓派返回“中间人攻击”

问题描述

我正在尝试通过 SSH 连接到与我的计算机在同一路由器下连接的树莓派。它正在运行最新版本的 raspbian lite。我使用以下命令在 pi 上启用了 ssh 服务:systemctl enable ssh。但是,当我尝试从个人计算机通过 SSH 连接到我的 raspberrypi 时,我收到以下消息:

fahd@Fahd-PC:~$ ssh pi@192.168.1.23
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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:***************************************************
Please contact your system administrator.
Add correct host key in /home/fahd/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/fahd/.ssh/known_hosts:1
  remove with:
  ssh-keygen -f "/home/fahd/.ssh/known_hosts" -R "192.168.1.23"
ECDSA host key for 192.168.1.23 has changed and you have requested strict checking.
Host key verification failed.
fahd@Fahd-PC:~$ 

而且我不完全确定这是否是我应该担心的真实情况,或者只是我不知道如何正确使用 SSH。

标签: sshraspberry-pi

解决方案


这会通知您设备上的 RSA 密钥已更改,当您发生以下情况时:

  • 在设备上重新安装操作系统
  • 生成新/删除旧 RSA 密钥
  • 有人试图进行 MITM 攻击(这些天很少见)

如何修复它:

  1. 删除有关树莓派主机的已保存信息
sudo vim ~/.ssh/known_hosts
or
sudo vim /etc/ssh/known_hosts
  1. 使用 ssh-keygen
ssh-keygen -R host_ip
or
ssh-keygen -R host_ip -f path_to_known_hosts
  1. 删除 known_hosts
    如果“known_hosts”文件中只有一个主机,则可以将其删除。
sudo rm .ssh/known_hosts

推荐阅读