telnet server ←————→ device ↑ | SSH ↓ localhost (me)
通过ssh运行telnet我有一个用一台服务器计算机连接的设备,我想通过ssh'ing到服务器计算机交谈的设备和发送Telnet命令到我的设备。我如何在Python中设置事件来实现这一点?如何在python
telnet server ←————→ device ↑ | SSH ↓ localhost (me)
通过ssh运行telnet我有一个用一台服务器计算机连接的设备,我想通过ssh'ing到服务器计算机交谈的设备和发送Telnet命令到我的设备。我如何在Python中设置事件来实现这一点?如何在python
您可以使用Python的paramiko
包通过ssh在服务器上启动程序。然后该程序将接着从控制程序接收命令(可能通过stdin)并返回结果(通过标准输出)。所以基本上你会使用paramiko.SSHClient
连接到服务器并运行第二个Python程序,它本身使用例如telnetlib
与设备交谈。
使用通过建立该隧道的Telnet流量SSH会话隧道:从“localhost”的 所以ssh来“服务器”的选项-L XXX:deviceip:23 (xxx为本地主机上一个自由港,deviceip是“device”的IP地址,23是telnet端口)。
在localhost上打开一个telnet会话到localhost:xxx。 SSH会将其隧道传送到设备,并将响应发回给您。
第二个Python程序在哪里必须在物理位置?在服务器或我的本地主机上? – 2014-09-30 03:49:11
基本上在服务器上,但可以在运行之前使用paramiko将其上传到服务器(通过SFTP)。 – 2014-09-30 04:21:54
这正是我现在正在做的。但我想从我的本地主机计算机'me'发送和接收telnet命令,并将服务器计算机作为中继telnet命令。 – 2014-09-30 04:28:15