19. Подключение к оборудованию

В этом разделе рассматривается как подключиться к оборудованию по протоколам:

  • 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, которая ориентирована на работу с сетевым оборудованием

В этом разделе рассматриваются все 4 модуля, а также как подключаться к нескольким устройствам параллельно.

В примерах раздела используются три маршрутизатора. К ним нет никаких требований, только настроенный SSH.

Параметры, которые используются в разделе:

  • пользователь: cisco

  • пароль: cisco

  • пароль на режим enable: cisco

  • SSH версии 2

  • IP-адреса: 192.168.100.1, 192.168.100.2, 192.168.100.3