ssh警告WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!的解决方法
问题描述:远程连接时提示警告信息WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 具体如图所示:
原因分析:SSH 服务通过公钥和私钥进行连接,每次连接远程主机时,SSH 客户端会将远程主机的公钥记录在 \~/.ssh/known_hosts
文件中。如果远程主机的公钥发生变化(例如系统更新、重装系统等),下次连接时 SSH 会发现记录的公钥与新的公钥不匹配,从而发出警告。
解决方法:1、使用 ssh-keygen
命令清除旧的公钥记录,命令如下:
ssh-keygen -R [远程主机IP地址]
# 例如:
ssh-keygen -R 192.168.1.12
这条命令会删除 \~/.ssh/known_hosts
中关于该 IP 的旧记录,然后便可重新连接远程主机。
2、手动删除 known_hosts
文件中的记录,找到本地主机\~/.ssh/known_hosts
文件,找到对应的 IP 地址和公钥记录,将其删除后保存文件,然后即可重新连接远程主机。