问题
在Linux server上执行ssh命令时,遇到下面的错误提示:
Host key verification failed
主机验证是OpenSSH的主要功能之一。该命令检查以确保你正在连接到你认为要连接的主机。当输入yes时,客户端会将服务器的公共主机密钥附加到用户的~/ .ssh / known_hosts文件中,并在必要时创建~/ .ssh目录。下次连接到远程服务器时,客户端会将此密钥与服务器提供的密钥进行比较。如果键匹配,则不会询问您是否要继续连接。
解决
我可以确认我现在连接的是受信任的机器,可以做下面的操作,来更正“主机密钥验证失败”错误:
方法1:手动删除旧秘钥
在server中,旧的秘钥存储在~/ .ssh / known_hosts文件中。客户端/源服务器中的每个用户在其主目录中都有其自己的known_hosts,只需删除目标服务器的特定用户文件中的条目即可。
注意:该文件中每一行前面的信息,有可能是host名字,或者ip地址,这样就可以分辨出删除哪一行了。
方法二:使用ssh-keygen命令删除旧密钥
使用该命令的语法:
ssh-keygen -R [主机名|IP地址]
关于该命令的更多用法可以使用man命令来查看。
例子:
ssh-keygen -R 192.168.