如何在 Linux 上通过本地网络远程执行预先指定的命令并进行身份验证?

How do I remotely execute a prespecified command with authentication across a local network on Linux?

我在同一个网络上有两个 Debian Linux 服务器。我希望服务器 A 在服务器 B 上执行此命令:run.sh VARIABLE,并且它需要能够处理所述命令的输出 - 但是,我不希望 run.sh 的内容可见到服务器 A。我也需要在这两台机器之间进行某种身份验证。

也许最简单和最快的方法是设置一个独立的 python REST 服务器。在客户端,您可以使用任何客户端,甚至是 curl 或 python 请求。

作为身份验证,它可以像在 JSON 字段中要求用户名和密码一样简单。

您的规格有些含糊。假设 run.sh 存在于 server B 上的某处,最简单的方法是使用 ssh forced command 并使用密钥对进行 ssh 连接。

您在 server B 上的 ~/.ssh/authorized_keys 中定义了强制命令,并将 VARIABLErun.sh 中的 SSH_ORIGINAL_COMMAND 中拉出。

server A 永远看不到 run.sh,能够将参数传递给 run.sh。 运行 run.sh 是它所能做的一切...