18. Подключение к оборудованию#
В этом разделе рассматривается как подключиться к оборудованию по протоколам:
SSH
Telnet
В Python есть несколько модулей, которые позволяют подключаться к оборудованию и выполнять команды:
pexpect
- это реализация expect на Pythonэтот модуль позволяет работать с любой интерактивной сессией: ssh, telnet, sftp и др.
кроме того, он позволяет выполнять различные команды в ОС (это можно делать и с помощью других модулей)
несмотря на то, что pexpect может быть менее удобным в использовании, чем другие модули, он реализует более общий функционал и это позволяет использовать его в ситуациях, когда другие модули не работают
telnetlib
- этот модуль позволяет подключаться по Telnetв версии 1.0 netmiko также появилась поддержка Telnet, поэтому, если netmiko поддерживает то оборудование, которое используется у вас, удобней будет использовать его
paramiko
- это модуль, который позволяет подключаться по SSHv2он более удобен в использовании, чем pexpect, но с более узкой функциональностью (поддерживает только SSH)
netmiko
- это модуль, который упрощает использование paramiko для сетевых устройствnetmiko это «обертка» вокруг paramiko, которая ориентирована на работу с сетевым оборудованием
scrapli
- это модуль, который позволяет подключаться к сетевому оборудованию используя Telnet, SSH или NETCONF.
В этом разделе рассматриваются все 5 модулей, а также как подключаться к нескольким устройствам параллельно. В примерах раздела используются три маршрутизатора. К ним нет никаких требований, только настроенный SSH.
Параметры, которые используются в разделе:
пользователь: cisco
пароль: cisco
пароль на режим enable: cisco
SSH версии 2
IP-адреса: 192.168.100.1, 192.168.100.2, 192.168.100.3