当我 ssh 到一台机器时,有时我会收到此错误警告,并提示说“是”或“否”。当从自动 ssh 到其他机器的脚本运行时,这会导致一些问题。
警告信息:
The authenticity of host '<host>' can't be established.
ECDSA key fingerprint is SHA256:TER0dEslggzS/BROmiE/s70WqcYy6bk52fs+MLTIptM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'pc' (ECDSA) to the list of known hosts.
有没有办法自动说“是”或忽略它?
根据您的 ssh 客户端,您可以在命令行上将 StrictHostKeyChecking 选项设置为 no,和/或将密钥发送到空的known_hosts 文件。您还可以在配置文件中为所有主机或给定的一组 IP 地址或主机名设置这些选项。
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
EDIT
正如 @IanDunn 指出的,这样做存在安全风险。如果您要连接的资源已被攻击者欺骗,他们可能会将目标服务器的质询重播给您,让您误以为您正在连接到远程资源,而实际上他们正在通过以下方式连接到该资源:您的凭据。在更改连接机制以跳过 HostKeyChecking 之前,您应该仔细考虑这是否是适当的风险。
参考 http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)