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