Я пытаюсь подключиться к удаленному устройству с другого удаленного устройства, выполняя вложенную telnet с помощью telnetlib. Хотя я могу легко общаться с первым устройством, я не могу получить вывод со второго устройства. Ниже мой код, я делаю это правильно?Telnet изнутри сеанса telnet (Python)
import telnetlib
HOST = "firstDevice"
user = "lab"
password = "lab"
tn = telnetlib.Telnet(HOST)
tn.read_until("Username: ")
tn.write(user + "\n")
if password:
tn.read_until("Password: ")
tn.write(password + "\n")
#Nested telnet
tn2 = telnetlib.Telnet("secondDevice")
tn2.read_until("#")
tn2.write("sh clock\n")
#Close tn2
tn2.write("exit\n")
print tn2.read_all()
#Close tn
tn.write("exit\n")
print tn.read_all()
Edit 1
import telnetlib
HOST = "firstDevice"
user = "lab"
password = "lab"
tn = telnetlib.Telnet(HOST)
tn.read_until("Username: ")
tn.write(user + "\n")
if password:
tn.read_until("Password: ")
tn.write(password + "\n")
#Nested telnet
tn.write("telnet secondDevice\n")
tn.write("sh clock\n")
#Close nested session
tn.write("exit\n")
#Close tn
tn.write("exit\n")
print tn.read_all()
Интересно. Выполняли ли вы вручную выполнение точной последовательности команд, которые вы пытаетесь автоматизировать здесь? –
Кроме того, ваша вторая версия отсутствует 'tn2.read_until (" # ")' –