这是问题所在。我正在使用我的脚本通过telnet连接直接连接到设备(从我的Windows桌面< =(telnet)=> 到设备)。基本上,我的脚本在TL1中运行一些命令,捕获输出并根据参数值继续...非常简单。
此设备将安装在另一个网络上,我无法通过telnet直接联系到该网络。现在,我必须在特定服务器上启动ssh连接,然后从那里启动telnet会话。 (从我的Windows桌面&lt; =(ssh)=&gt; 服务器&lt; =(telnet)=&gt; 到设备)< / p>
我理解paramiko的基础...我在jessenoler网站上找到了代码:
import paramiko
ssh.connect('127.0.0.1', username='jesse', password='lol')
stdin, stdout, stderr = ssh.exec_command("uptime")
type(stdin)
stdout.readlines()
# output:
# ['13:35 up 11 days, 3:13, 4 users, load averages: 0.14 0.18 0.16\n']
我无法弄清楚如何从服务器发起telnet ...我应该使用:
ssh.exec_command("telnet 10.10.10.10 10001")
我知道解决我的问题最简单的方法是在服务器上安装python,但我不能。以前有人遇到过那种问题吗?感谢您的投入! :)
答案 0 :(得分:2)
您应该设置SSH隧道而不是打开正常连接。这可以通过-L localport:server:remoteport
的客户端命令行完成,也可以使用paramiko
从python完成。
请查看this answer和linked gist,详细了解如何使用Python。
当你设置它时,你应该将telnet连接到指定为localport的端口上的localhost
。