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