2014-09-30 60 views
1
  telnet 
server ←————→ device 
    ↑ 
    | SSH 
    ↓ 
localhost (me)

通过ssh运行telnet我有一个用一台服务器计算机连接的设备,我想通过ssh'ing到服务器计算机交谈的设备和发送Telnet命令到我的设备。我如何在Python中设置事件来实现这一点?如何在python

回答

2

您可以使用Python的paramiko包通过ssh在服务器上启动程序。然后该程序将接着从控制程序接收命令(可能通过stdin)并返回结果(通过标准输出)。所以基本上你会使用paramiko.SSHClient连接到服务器并运行第二个Python程序,它本身使用例如telnetlib与设备交谈。

+0

第二个Python程序在哪里必须在物理位置?在服务器或我的本地主机上? – 2014-09-30 03:49:11

+0

基本上在服务器上,但可以在运行之前使用paramiko将其上传到服务器(通过SFTP)。 – 2014-09-30 04:21:54

+0

这正是我现在正在做的。但我想从我的本地主机计算机'me'发送和接收telnet命令,并将服务器计算机作为中继telnet命令。 – 2014-09-30 04:28:15

0

使用通过建立该隧道的Telnet流量SSH会话隧道:从“localhost”的 所以ssh来“服务器”的选项-L XXX:deviceip:23 (xxx为本地主机上一个自由港,deviceip是“device”的IP地址,23是telnet端口)。

在localhost上打开一个telnet会话到localhost:xxx。 SSH会将其隧道传送到设备,并将响应发回给您。