我有类似服务器的机器(它们不是工作站,完全自动化),我需要它们能够运行打开客户端 ssh 连接(到 github 等第 3 方服务器)的脚本,我需要它运行以自动化的方式。
我可以使用 ssh 私钥来执行此操作,但问题是机器将 ssh 私钥存储在具有用户权限的用户目录中,要求脚本由用户运行。我曾尝试更改 ssh 密钥的权限,但 ssh 客户端抱怨这是不安全的。
无论我最终是否使用 ssh 密钥,我都需要一种方法来从启动时安全地打开客户端 ssh 连接,而无需任何本地操作系统登录。
我对如何在 Linux 和/或 Windows 上解决此问题感兴趣。
在 Windows 中,您可以使用任务计划程序使应用程序以特定用户身份运行:
注意安全选项下。您将选中“运行用户是否登录”框,然后选中“更改用户或组”并选择设置它的用户。它会询问他们的密码。
不对。查看 SSH 客户端的文档,了解如何使用存储在文件系统中任意位置的私钥文件。
对于 OpenSSH 检查ssh_config(5) - IdentityFile
此外,任何自动化进程在任何操作系统中都以特定用户身份运行。因此,只需确保为此服务用户/工具帐户或您所称的任何名称正确设置了私钥文件的所有权和权限。