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()
执行结果
小白技术分享