我第一次使用公钥/私钥通过 SSH 连接到计算机时,如何跳过“known_host”问题?

我第一次使用公钥/私钥通过 SSH 连接到计算机时,如何跳过“known_host”问题?

我第一次使用公钥/私钥通过 SSH 连接到机器时,如何跳过“known_host”问题?

答案1

所有其他当前答案都缺少 UserKnownHostsFile=/dev/null

如果你只想做一次,你可以使用:

ssh -o StrictHostKeychecking=no hostname

如果你想重复执行此操作,你应该将以下内容添加到你的 ~/.ssh/config 中

Host 192.168.0.*
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null

要在 Windows 的 OpenSSH 上进行配置,只需将其替换/dev/nullNUL

很好的解释来自: http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html

答案2

关闭StrictHostKeyChecking通过ssh_config或命令行选项。

答案3

我花了一段时间才找到这个。我见过的最常见的用例是当你有到远程网络的 ssh 隧道时。这里的所有解决方案都产生了警告,破坏了我的脚本(nagios)。

我需要的选项是:

NoHostAuthenticationForLocalhost yes

顾名思义,它也仅适用于本地主机。

答案4

$ ssh -o StrictHostKeychecking=no hostname

这将导致跳过检查,并在首次登录时自动添加远程主机的密钥。(还有 CheckHostIP 选项,但它似乎并没有真正禁用对密钥是否存在的检查)。

相关内容