Я новичок в python. Я пытаюсь подключиться к telnet, затем войти в систему, используя имя пользователя и пароль, выполнить команду и получить результаты один за другим. Я закодировал, как показано ниже:
print ("Starting Client...")
host = "<myIp>"
timeout = 120
user = "myUserName"
password = "myPassword"
print ("Connecting...")
try:
session = telnetlib.Telnet(host, 23, timeout)
session.read_until("USERNAME : ",2)
session.write(user + "\n")
print("UserName entered")
response = session.read_until("PASSWORD : ",2)
print(str(response))
session.write(password + "\n")
print("password Entered")
except Exception,e:
print ("socket timeout")
else:
print("Sending Commands...")
session.write("Mycommand".encode('ascii') + b"\r")
print("Reading...")
output = session.read_until("commandBash>", timeout )
session.close()
print(output)
print("Done")
Для вышеуказанной программы я получаю вывод как:
Starting Client...
Connecting...
UserName entered
myUserName
password Entered
Sending Commands...
Reading...
myPasswordMycommand
PASSWORD:
Done
Из этого я мог узнать, что пароль даже не был введен, когда он запрашивает пароль. Он фактически вводит пароль и команду до запроса пароля. Поэтому я даже пытался поставить time.sleep (20) после ввода имени пользователя. Все еще бесполезно. Я не мог понять что мне здесь не хватает. Пожалуйста, помогите мне, друзья