【linux】WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解决方法

本文详细解析了SSH连接失败的原因,涉及konwn_hosts文件的公钥验证问题。提供了通过`ssh-keygen-R`命令删除旧公钥并重新连接的步骤,以及为何需要加密存储。还介绍了如何查看和修改SSH配置以关闭加密。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.错误描述 

二.解决方案

         输入以下指令:

ssh-keygen -R XXX(ip地址)

        按照我的例子(ip:10.165.7.136),会返回以下信息:

         重新尝试连接:

        输入yes,按下回车,成功连接。以上就是解决方案,如果想了解为什么这样的,可以继续往下看。

三.原因分析

        当两个设备第一次进行链接时,会在~/.ssh/konwn_hosts  中将被连接设备的公钥信息进行保存,后续再次链接时OpenSSH会核对公钥来进行一个简单的验证:

        konwn_hosts文件的公钥信息如下:

                                                             (密文形式)

        正常连接应该如下:

        然而有时候被链接的那台设备系统被重装、IP 冲突等原因,会导致公钥信息没有对得上,所以导致错误:

        而解决的方案很简单,就是在把记录在路径 ~/.ssh/konwn_hosts  中的公钥信息给删除,重新建立一个新的链接就行,而指令 ssh-keygen -R XXX(ip地址) 就是执行这个动作,甚至还贴心地将原来地公钥信息进行备份:

        当然,你也可以手动删除指定的ip,使用vi/vim打开konwn_hosts文件,你会发现里面的东西我和的一样是密文形式的,这是因为新版的系统里的安全机制,为了防止某个不轨人士进行远程撒毒,明文保存被替换成了通过算法计算的密文形式,当然你可以使用以下指令来查询到某个ip的密文是多少:

ssh-keyscan XXX(IP地址)

        以我的ip为例子,可以看到输出了三个不同算法算出来的密文信息:

        我们在konwn_hosts文件中找到这个几个密文信息,将其删除,保存,重新链接即可。当然如果你觉得电脑就一个人用没必要加密,也可以将加密给关闭,使用vi/vim来编辑路径 /etc/ssh/ssh_config 中的字段:

        将该字段修改为 no,保存退出,删除公钥信息重新链接一次,你会发现新保存的公钥就是明文的信息。 

当出现"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED"的警告时,意味着你在尝试连接一个远程主机时,它的公钥信息与之前连接过的不一致。这可能是由于设备系统被重装或IP冲突等原因导致的。 为了解决这个问题,有几种方法可以尝试: 1. 修改known_hosts文件:可以将known_hosts文件中与出现错误的IP相关的公钥信息删除,然后重新连接远程主机。这样,在重新连接时会生成一个新的公钥信息并保存在known_hosts文件中。 2. 清空known_hosts文件:另一种方法是将known_hosts文件中的所有内容清空。不过这个方法不太推荐,因为known_hosts文件中还可能保存有其他机器的公钥信息。 3. 使用ssh-keygen命令:这是一种更安全的方法。通过使用ssh-keygen命令,你可以指定要清除的特定IP的公钥信息。比如,使用命令"ssh-keygen -R <IP>",将"<IP>"替换为你想要清除的IP地址或域名。执行命令后,该IP的公钥信息将被清除。 以上是解决"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED"警告的几种方法,你可以根据具体情况选择适合你的方法解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【linuxWARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解决方法](https://blog.csdn.net/qq_41884002/article/details/123358315)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [SSH 远程登录错误解决办法 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!](https://blog.csdn.net/weixin_44462664/article/details/109593652)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

师兄师兄怎么办

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值