我第一次使用公钥/私钥通过 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/null
为NUL
。
很好的解释来自: 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 选项,但它似乎并没有真正禁用对密钥是否存在的检查)。