ssh - 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。
解决方案
这会通知您设备上的 RSA 密钥已更改,当您发生以下情况时:
- 在设备上重新安装操作系统
- 生成新/删除旧 RSA 密钥
- 有人试图进行 MITM 攻击(这些天很少见)
如何修复它:
- 删除有关树莓派主机的已保存信息
sudo vim ~/.ssh/known_hosts
or
sudo vim /etc/ssh/known_hosts
- 使用 ssh-keygen
ssh-keygen -R host_ip
or
ssh-keygen -R host_ip -f path_to_known_hosts
- 删除 known_hosts
如果“known_hosts”文件中只有一个主机,则可以将其删除。
sudo rm .ssh/known_hosts
推荐阅读
- spring - 没有太多信息的自定义 JPA 查询失败
- loops - 使用 Google Colabs 在循环内绘图
- python - np.copy(X) 和 np.array(X) 之间的区别
- django - 模型实例上的 Django 反向(on_delete)保护
- javascript - 为什么我必须在 JS require() 语句中使用 {}
- gtk - 如何在 Ubuntu 16.04 上安装 glib2.64
- excel - excel中的动态源文件路径
- rule-engine - Grakn 中的规则错误:“规则没有形成有效的子句,因为它包含多原子头”
- apache-kafka - Kafka 消费组描述不包括所有主题
- database - 如何在 Postgres 的多个列中获取查询结果?