2010-08-18 132 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的內容從腳本連接到服務器。然後,腳本可以根據從服務器接收到的數據在客戶端計算機上啓動其他應用程序。

相關問題