我想要非交互式的 ssh 访问

我想要非交互式的 ssh 访问

我想通过安装脚本使用 ssh 访问云中的新虚拟服务器,这样它就不会要求用户交互。当我使用普通

ssh -i 密钥.pem[电子邮件保护]

它确实告诉我这是一个新主机,我可以信任它吗?由于我刚刚创建了它,所以我想立即信任它。

然后我确实用了

-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no

但这不会建立连接,因此后续请求不会自动进行。它不会在 known_hosts 中创建条目。

我怎样才能使 ssh 首先以非交互方式连接,然后始终以非交互方式连接?

  • 盖尔盖伊

答案1

您是否尝试过仅使用以下内容?

$ ssh -o StrictHostKeyChecking=no -i keys.pem [email protected]

我不明白-o UserKnownHostsFile=/dev/null这样做的意义何在;这似乎只是为了防止将密钥添加到已知主机文件中。

答案2

也可以提前将主机的密钥添加到“已知主机”,这样 ssh 就不会感到惊讶。例如

ssh-keyscan example.com >>~/.ssh/known_hosts 

这仍然不够严谨,因为您第一次就无条件地信任密钥。但这提供了稍微好一点的安全性,因为您可以检查这些密钥,并在后续连接尝试中发生更改时收到警告,这可能是干扰的迹象。

相关内容