2010-08-18 95 views
0

以下是我需要做的:用python通过ssh在远程机器上启动脚本 - 但是反过来?

用户在远程计算机上并通过ssh连接到服务器。他在服务器上运行python脚本。运行在服务器上的脚本在用户的远程机器上启动一个脚本作为子进程,并打开一个用于通信的管道。

首先,这是可能的吗?

其次,这是可能的,用户不需要做任何奇特的事情,比如打开一个反向的ssh隧道?如果他们必须打开一个反向的ssh隧道,我能找出他们正在使用的端口吗?

+4

我认为让用户运行客户端Python脚本会更有意义,而不是直接与SSH连接。用户运行的脚本将能够打开SSH连接,将数据发送到服务器并接收指令,并启动需要在客户端上运行的任何其他脚本。 – 2010-08-18 01:13:18

+0

在用户计算机上启动脚本对我来说不是一个真正的选择。 – shino 2010-08-18 02:16:50

回答

4

首先,这是否可能?

用简单的用户--SSH - >服务器 - 不,它不是。

这是可能以这样的方式,用户不需要做任何幻想

用户必须将他的机器上运行的sshd,添加一个用户为你的服务器,并以某种方式让你来连接到它,绕过NAT(如果有的话)。所以不,SSH没有这种方式。

我会用客户端应用程序。给用户脚本,让他运行脚本而不是SSH'ing。如果您需要与服务器通信,则可以在客户端使用类似paramiko的内容从脚本连接到服务器。然后,脚本可以根据从服务器接收到的数据在客户端计算机上启动其他应用程序。

相关问题