我在同一网络上有两台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字段中要求用户名和密码一样简单。