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



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

您的规范有些模糊。假设run.sh存在于server B上的某个位置,那么最简单的方法就是使用ssh forced command并为ssh连接使用密钥对。

server B上的~/.ssh/authorized_keys中定义强制命令,并在run.sh中从SSH_ORIGINAL_COMMAND中拉出VARIABLE

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

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

如何制作一个简单的Python REST服务器和客户端?

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

最新更新