Python 从Web应用程序在远程服务器上运行命令

Python 从Web应用程序在远程服务器上运行命令,python,Python,我有以下问题:我必须从web应用程序(play)中在远程服务器上运行命令,但是从web服务器上我没有对远程服务器的ssh访问权限。我唯一拥有的是,远程服务器可以通过http(s)访问web服务器 我的想法是创建一个python守护进程,它轮询一个URL,该URL通过JSON返回请求的命令 这是个好主意吗?是否有一个框架可以在客户端上提供帮助 BR Rene似乎您可以使用pyro进行远程调用,您可以调用远程python对象。Python远程对象是一个完全用Python编写的分布式对象系统,仅用于P

我有以下问题:我必须从web应用程序(play)中在远程服务器上运行命令,但是从web服务器上我没有对远程服务器的ssh访问权限。我唯一拥有的是,远程服务器可以通过http(s)访问web服务器

我的想法是创建一个python守护进程,它轮询一个URL,该URL通过JSON返回请求的命令

这是个好主意吗?是否有一个框架可以在客户端上提供帮助


BR Rene

似乎您可以使用pyro进行远程调用,您可以调用远程python对象。Python远程对象是一个完全用Python编写的分布式对象系统,仅用于Python。它小巧、简单、自由。请在此处查看:

我的想法是创建一个python守护进程,它轮询返回的URL 请求的命令通过JSON发送

这本质上是一个消息代理。因此,不要自己编写一个消息代理,而是使用任何可用的消息代理,例如具有Java绑定的消息代理,以及将在目标服务器上运行的任何语言


从web服务器向代理发送消息。这将触发目标服务器上的工作者“唤醒”并执行某些任务。然后,您还可以选择通过message broker获取结果,或将其写入某个公共存储(如更新某个k/v存储,或写入公共数据库)。

在远程服务器上具体需要做什么?执行任意shell命令?执行一个特定的shell命令?执行任意shell命令。这似乎是个坏主意。如果必须这样做,至少只允许一组受限制的命令(在chroot监狱内就好了。)不幸的是,远程服务器没有打开任何端口。我只是将http(s)连接从远程服务器连接到web服务器。这也是我最初的想法,但我无法安装新的MessageBroker服务器。我想我唯一的解决方案就是我提到的那个。它不需要在专用机器上。