小智 121
如果您希望这种行为是因为您正在使用云服务器(AWS EC2、Rackspace CloudServers 等)或者您不断在 Vagrant 中配置新图像,您可能需要更新您的 SSH 配置,而不是添加 bash 别名或更多选项命令行。
考虑添加如下内容:
Host *.mydomain.com
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
User foo
LogLevel QUIET
Run Code Online (Sandbox Code Playgroud)
Alb*_*ert 117
-o "UserKnownHostsFile /dev/null"
Run Code Online (Sandbox Code Playgroud)
应该管用。
Qua*_*ong 18
对于单个 ssh 会话,请使用此
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@host
Run Code Online (Sandbox Code Playgroud)
Kyl*_*ose 11
我想将主机密钥添加到您的 known_hosts(根据我的经验,运行这些服务的人至少足够聪明,可以在提供相同主机名的机器之间保持他们的主机密钥一致),然后打开 StrictHostKeyChecking,关闭 CheckHostIP,然后使用 LogLevel ERROR 进行日志记录将在不牺牲安全性的情况下为您提供最佳体验。(好吧,如果没有 CheckHostIP,您确实需要信任 DNS,这是一个巨大的漏洞,没有广泛的 DNSSEC 或类似的东西;但我们暂时将其扫除。)
我使用只读的 known_hosts 文件,所以我必须做一些事情,否则我会收到关于无法向 known_hosts 添加条目的无休止的警告。
我使用的是:
Host github.com *.github.com
StrictHostKeyChecking yes
CheckHostIP no
LogLevel ERROR
Run Code Online (Sandbox Code Playgroud)
我希望这些服务通过 HTTPS 在他们的网站上发布他们的 SSH 主机密钥,这样我就可以明确地复制它们,而不必先连接并可能使自己暴露在 MITM 攻击中。
小智 7
我建议
LogLevel ERROR
Run Code Online (Sandbox Code Playgroud)
超过
LogLevel QUIET
Run Code Online (Sandbox Code Playgroud)
所以您仍然会收到“无法解析主机名”和其他此类错误