如果您错误地删除了 ~/.ssh/known_hosts 文件该怎么办?

如果您错误地删除了 ~/.ssh/known_hosts 文件该怎么办?

有没有办法生成或重新安装某些包来获取~/.ssh/known_hosts文件的内容?

答案1

每当你连接到未知主机时 ssh 都会提示你

The authenticity of host '...' can't be established.
RSA key fingerprint is ...
Are you sure you want to continue connecting (yes/no)? 

并向文件known_hostsfile 添加一个新条目。

因此,要重新生成文件,请连接到您常用的主机,如果您怀疑有 MITM,则可以选择检查指纹。

答案2

您可以复制hosts来自somewhocares.org/hosts到您的/etc/hosts文件,该文件会定期更新 ( Last updated: Tue, 07 Mar 2017 at 07:19:43 GMT)

使用此文件可防止您的计算机连接到选定的互联网主机。这是一种简单有效的方法,可以保护您免受多种类型的间谍软件的侵害,减少带宽使用,阻止某些弹出陷阱,防止通过垃圾邮件中嵌入的“网络错误”进行用户跟踪,为 IE 提供部分保护,使其免受某些网络的攻击。基于漏洞的攻击并阻止您在互联网上收到的大多数广告。

您可以将新条目添加到您的known_hosts

ssh host.example.org -o "VerifyHostKeyDNS=yes"

您可以验证fingerprint

ssh-keyscan host.example.org | ssh-keygen -lf -

相关内容