共计 773 个字符,预计需要花费 2 分钟才能阅读完成。
什么是 known_hosts 文件
A 通过 ssh 首次连贯到 B,B 会将公钥 1(host key)传递给 A,A 将公钥 1 存入 known_hosts 文件中,当前 A 再连贯 B 时,B 仍然会传递给 A 一个公钥 2,OpenSSH 会核查公钥,通过比照公钥 1 与公钥 2 是否雷同来进行简略的验证,如果公钥不同,OpenSSH 会收回正告,防止你受到 DNS Hijack 之类的攻 ji。。
关上 known_hosts 文件
vi ~/.ssh/known_hosts 或 vi /root/.ssh/known_hosts
host 文件内容格局:ip 公钥
理解更多 ssh known_host
Host key verification failed
三、A 通过 ssh 登陆 B 时提醒 Host key verification failed
理解更多 how to fix Host key verification failed
起因:A 的 known_hosts 文件中记录的 B 的公钥 1 与 连贯时 B 传过来的公钥 2 不匹配
解决办法:
办法一:删除 A 的 known_hosts 文件中记录的 B 的公钥(手动进行,不适用于自动化部署情景)
有两只办法删除
- 通过 vi 找到这个对应的 ip 或者 host 的 host key 而后删除
- 通过 ssh-keygen -r hostname 删除
办法二:批改配置文件,在 ssh 登陆时不通过 known_hosts 文件进行验证(安全性有所升高),
也是有两种办法:
- 编辑对应 host 的 ssh 配置文件
vi ~/.ssh/config // 编辑配置文件
增加以下两行代码:
StrictHostKeyChecking no - 在 ssh 登录时利用 -i StrictHostKeyChecking=no 这样就不会查看 host key。
如何解决 fix too many authentication failures
如何解决 remote host identification has changed
正文完