В данной статье хочу написать пример скелета для подключения к устройству с помощью библиотеки Exscript с комментариями под каждую команду.
Exscript это библиотека, созданная для работы с удаленными устройствами путем подключения к ним с помощью таких протоколов как SSH, Telnet. Сама библиотека основана на Paramiko и Telnetlib, ее основным плюсом является то, что написав код для подключения единожды для одного протокола, можно без проблем перейти на другой, что невозможно используя разные библиотеки.
Для начала работы Exscript его нужно установить:
sudo pip3 install exscript
После успешной установки, импортируем нашу библиотеку и необходимые модули в коде:
from Exscript.protocols import Telnet, SSH2
from Exscript import Account
Далее, для подключения к хосту можно использовать следующий "скелет":
con = Telnet() //Или SSH2
con.connect(' [Адрес хоста] ')
con.set_prompt(' [Начало вашей командной строки] ')
acc = Account(' [Имя пользователя] ', ' [Пароль] ')
con.login(acc)
После успешной авторизации на устройстве, для выполнения команд можно использовать два метода Send и Execute. Различие двух методов в том, что Send лишь набирает команду в командной строке и для ее выполнения необходимо в конце строки передать Enter (/n). Execute же выполняет команду сразу, без приглашения подтверждения ввода.
Для вывода результата можно использовать метод Response, он отобразит результат последней выполненной команды.
con.execute(' [Команда] ')
output = con.response
print(output)