通过客户端/服务器之间的现有SSH连接从服务器telnet到设备

问题描述:

这是问题。我是用我的脚本直接过(从我的Windows桌面 < =(远程登录)=>到设备)的telnet连接连接到设备。基本上,我的脚本在TL1中运行一些命令,捕获输出并根据参数值继续执行...非常简单。通过客户端/服务器之间的现有SSH连接从服务器telnet到设备

此装置将是安装另一个网络,这是我不能再通过telnet直接到达上。现在,我必须在特定服务器上启动ssh连接,然后从那里启动telnet会话。 (从我的Windows桌面 < =(SSH)=>服务器 < =(远程登录)=>到设备

我理解的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

,将建立一个telnet连接到设备上,真正的。但它只会在设备和服务器之间进行,而不是从脚本中轻松访问。我会在桌面和服务器之间创建一个SSH隧道(使用ssh -L),并使用telnetlib模块直接通过桌面telnet到设备。 – ch3ka 2012-04-20 17:18:50

+0

嗨ch3ka,感谢您的输入!以前从未这样做过。我想我必须在服务器端做前进。或者我只能在桌面上启动ssl -L?我有点困惑。我会继续阅读有关转发。 – oliver 2012-04-20 20:16:14

,您应该设置一个SSH隧道,而不是打开一个正常的连接。这可以通过-L localport:server:remoteport的客户端命令行完成,也可以使用paramiko从python完成。

看看this answerlinked gist有关如何使用Python做到这一点的详细信息。

当你设置这件事,你应该通过telnet连接到localhost指定为将localPort端口上。

+0

感谢您的意见! – oliver 2012-05-02 01:30:30