如何在 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
中定义了强制命令,并将 VARIABLE
从 run.sh
中的 SSH_ORIGINAL_COMMAND
中拉出。
server A
永远看不到 run.sh
,能够将参数传递给 run.sh
。 运行 run.sh
是它所能做的一切...
我在同一个网络上有两个 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
中定义了强制命令,并将 VARIABLE
从 run.sh
中的 SSH_ORIGINAL_COMMAND
中拉出。
server A
永远看不到 run.sh
,能够将参数传递给 run.sh
。 运行 run.sh
是它所能做的一切...