执行ssh命令时遇到Host key verification failed
文章目录问题解决方法1:手动删除旧秘钥方法二:使用ssh-keygen命令删除旧密钥验证问题在Linux server上执行ssh命令时,遇到下面的错误提示:Host key verification failed主机验证是OpenSSH的主要功能之一。该命令检查以确保你正在连接到你认为要连接的主机。当输入yes时,客户端会将服务器的公共主机密钥附加到用户的~/ .ssh / known_host
问题
在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.1.1
# 根据ip地址来删除指定秘钥
ssh-keygen -f "root/.ssh/known_hosts" -R 192.168.1.1
# 根据ip地址来删除指定known_hosts文件中的指定秘钥
验证
删除掉旧秘钥后,可以再次执行ssh命令,一般会提示,如果继续,会将新的秘钥添加到~/.ssh/known_host文件中。
更多推荐



所有评论(0)