我有许多自动化脚本,它们在连接到远程主机(在我的情况下是移动机器人)时使用 SSH 身份验证。我遇到的问题是,这个机器人有时位于我们的实验室,有时在家里。另一个复杂因素是,机器人有时通过 WiFi、以太网或两者连接。这意味着机器人的 IP 地址(即使在每个网络上都保留)会发生变化,或者可以有多个,并且机器人有多个 ECDSA 密钥指纹。
我遇到的问题是由于 SSH 和 SCP 警告我无法验证主机的身份并且脚本停止等待我的输入,或者在我的 IDE 的情况下它只是崩溃了。
有什么好的安排可以抑制这些警告/输入?我应该从known_hosts
文件中删除条目吗?
答案1
使用 SSH 证书(即使用 ssh 密钥签名的 ssh 密钥)。 的手册页对此进行了详细描述sshd
。
有了证书,您将能够验证主机的真实性,而不管其 IP。