这就是我需要做的事情:
用户在远程计算机上并通过ssh连接到服务器。他在服务器上运行python脚本。服务器上运行的脚本在用户的远程计算机上启动脚本作为子进程,并打开一个管道进行通信。
首先,这一切都可能吗?
其次,这是否可能以这样的方式使用户不需要做任何花哨的事情,比如打开反向ssh隧道?如果他们确实需要打开反向ssh隧道,我可以找出他们正在使用哪个端口吗?
答案 0 :(得分:4)
首先,这一切都可能吗?
简单的用户--SSH - >服务器 - 不,不是。
这是可能的,用户不需要做任何花哨的事情
用户必须在他的机器上运行sshd,为您的服务器添加一个用户,并以某种方式让您连接到它,绕过NAT(如果有的话)。所以不,SSH没有这种方式。
我会选择客户端应用程序。给用户脚本并让他运行脚本而不是SSH。如果需要与服务器通信,可以在客户端使用paramiko之类的东西从脚本连接到服务器。然后,脚本可以根据从服务器接收的数据在客户端计算机上启动其他应用程序。