如何在python中通过ssh运行telnet

时间:2014-09-30 03:11:43

标签: python ssh telnet forwarding

       telnet
server ←————→ device
  ↑
  | SSH
  ↓
localhost (me)

我有一台与一台服务器计算机连接的设备,我想通过ssh进入服务器计算机并将telnet命令发送到我的设备来与设备通信。我如何在Python中设置以实现这一目标?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

通过设置隧道连接Telnet流量的SSH会话来使用隧道: 所以ssh来自" localhost"到"服务器"使用选项-L xxx:deviceip:23 (xxx是localhost上的空闲端口,deviceip是"设备"的IP地址,23是telnet端口。)

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