Простоя совместимость с getpass

Я пытаюсь написать сценарий, который вводит и настраивает маршрутизатор Cisco удаленно, используя соединение Telnet.

все идет хорошо, за исключением того, что у меня была проблема во время выполнения отладки "MyScrept" и причина также из-за getpass.getpass() с Pycharm IDLE. Я узнал, что:

Blockquote

Предупреждение: ввод пароля может быть повторен.

Blockquote

и если я запускаю его напрямую, "не используя режим отладки", он просто спрашивает у меня имя пользователя в строке tty, затем просто держится в этом месте без продолжения, продолжайте до конца кода, спрашивая мне пароль и также вводите необходимые конфигурации, так что просто держись там,

Мой скрипт так же, как следует:


import getpass
import telnetlib

HOST = X.W.Y.Z" #Cisco Device IP address
user = input("Enter your remote account: ")

password = getpass.getpass()

tn = telnetlib.Telnet(HOST)
tn.read_until(b"Username: ")
tn.write(user.encode('ascii') + b"\n") 

if password:
   tn.read_until(b"Password: ")
   tn.write(password.encode('ascii') + b"\n")
   tn.write(b"config t \n")
   tn.write(b" int lo 2 \n")
   tn.write(b"ip add 10.1.1.1 255.255.255.0 \n")
   tn.write(b"end\n")

tn.write(b"exit\n")
print(tn.read_all().decode('ascii'))

Заранее благодарю за любую помощь.

0 ответов

Другие вопросы по тегам