通过SSH用Python在远程机器上启动脚本,但反向操作?
我需要做的是:
用户在一台远程机器上,通过ssh连接到一个服务器。他在服务器上运行一个python脚本。这个在服务器上运行的脚本会在用户的远程机器上启动一个子脚本,并为它打开一个管道以进行通信。
首先,这样做有可能吗?
其次,能不能做到让用户不需要做什么复杂的操作,比如打开一个反向ssh隧道?如果他们确实需要打开反向ssh隧道,我能不能知道他们使用的是哪个端口?
1 个回答
4
首先,这种情况可能吗?
简单来说,用户通过SSH连接到服务器,这种方式是行不通的。
有没有可能让用户不需要做什么复杂的操作?
用户需要在自己的电脑上运行一个叫做sshd的程序,还得为你的服务器添加一个用户,并且要想办法让你能够连接到他的电脑,这还要绕过可能存在的NAT(网络地址转换)。所以,使用SSH的话,是没有这种简单的方法的。
我建议使用客户端应用程序。给用户一个脚本,让他运行这个脚本,而不是通过SSH连接。如果你需要和服务器沟通,可以在客户端使用类似于paramiko的工具,从脚本中连接到服务器。然后,脚本可以根据从服务器收到的数据,在用户的电脑上启动其他应用程序。