执行ssh命令时遇到Host key verification failed

得意时要看淡,失意时要看开。不论得意失意,切莫大意;不论成功失败,切莫止步。志得意满时,需要的是淡然,给自己留一条退路;失意落魄时,需要的是泰然,给自己觅一条出路执行ssh命令时遇到Host key verification failed,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

问题

在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文件中。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155812.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!