- ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️
- ❤️ 本篇创建记录 2022-11-05 ❤️
- ❤️ 本篇更新记录 2022-11-05 ❤️
- 🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言 📝
- 🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请留言轰炸哦!及时修正!感谢支持!
- 🔥 Arduino ESP8266教程累计帮助过超过1W+同学入门学习硬件网络编程,入选过选修课程,刊登过无线电杂志🔥
1. 前言
早起想要用SSH登录我的树莓派,登录失败。提示:
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
所以还是研究了一会可能会出现的原因以及一些解决思路。
2. SSH缓存
ssh会把你每个访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts
。当下次访问相同计算机(同样的IP地址,这个点很关键
)时,OpenSSH
会核对公钥。如果公钥不同,OpenSSH会发出警告,也就是我们当前的遇到的问题, 避免你受到DNS Hijack之类的攻击。
3. 问题原因
核心原因还是发现IP地址和对应设备发生变化
了。
3.1 原因1:多台Linux主机
最近又新增了一台树莓派4B,然后早上同时启用了两台树莓派,可能两台占用了旧的IP地址。导致IP和设备重新新旧区分。
3.2 原因2:IP地址和MAC地址没有绑定
树莓派的IP地址由DHCP服务器分配,如果没有绑定mac地址固定IP的方式,意味着每次开机重启都有可能分配到一个新的IP地址。
4. 解决思路
- 清理本地电脑 SSH认证密钥记录
- 查看记录
ssh-keygen -l -f ~/.ssh/known_hosts- 清理对应ip记录
ssh-keygen -R <ip地址>
- 在路由器上绑定IP地址和MAC地址
5. 再次访问
完美解决!
6. 总结
主要还是记录一下WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!问题以问题可能出现的原因。