python使用telnetlib模块实现双层服务连接

本来使用的paramiko实现的,后来到现场后发现人家设备不支持ssh,所以只能用telnet了,随后终于捣鼓出来了

 

 1 import telnetlib
 2 
 3 Host = ""   # 跳板机ip
 4 
 5 # 连接Telnet服务器
 6 tn = telnetlib.Telnet(Host, port=23, timeout=10)
 7 tn.set_debuglevel(0)
 8 # 输入跳板机用户名
 9 tn.read_until(b'Username:')   # 这个是获取提示的,有的机器显示的是login或者其他的,根据自己情况修改就行了
10 tn.write(b"boot" + b'\n')
11 # 输入跳板机密码
12 tn.read_until(b'Password:')
13 tn.write(b"123456" + b'\n')
14 # 跳到服务器
15 tn.write(b"telnet 0.5.3.2" + b'\n')
16 # 输入服务用户名
17 
18 tn.read_until(b'>>User name:')
19 tn.write(b"root" + b'\n')
20 
21 # 输入服务登录密码
22 tn.read_until(b'>>User password:')
23 tn.write(b"123456" + b'\n')
24 tn.write(b'测试命令' + b'\n')
25 
26 r = tn.read_until(b'#')   # 获取的是#之间的输出,当命令没有以# 结束就换成你的结束标志
27 sr = str(r, encoding="utf-8")
28 print(sr)
29 
30 tn.close()

执行结果

 

posted @ 2020-11-04 09:13  过氧化氢  阅读(336)  评论(0编辑  收藏  举报