Repolode
ktbyers

ktbyers/netmiko

Библиотека Python для упрощения SSH-подключений к CLI сетевых устройств разных производителей, выполнения show-команд и внесения изменений в конфигурацию.

Звёзды
4,319
Форки
1,393
Открытые issues
60
Последний коммит
8 дней назад

Что это?

Netmiko — библиотека Python на базе Paramiko, которая упрощает подключение к сетевым устройствам по SSH и работу с их командной строкой. Автоматизация сетей часто требует собирать вывод show-команд или применять изменения конфигурации, и Netmiko выполняет эти операции на широком спектре платформ.

Вместо того чтобы самостоятельно обрабатывать приглашения командной строки и писать регулярные выражения для каждого производителя, достаточно передать словарь устройства с параметром device_type, например cisco_ios, и вызвать методы вроде send_command или send_config_set. Библиотека сама переходит в режим конфигурации и ожидает приглашения. Подключения можно использовать как менеджеры контекста, чтобы сессии гарантированно закрывались.

Проект поддерживает Python 3.11 и более поздние версии и устанавливается через pip. Список поддерживаемых платформ приведён в документе PLATFORMS проекта, а примеры и документация API доступны вместе с кодом.

Ключевые возможности

  • 01Выполняет show-команды на сетевых устройствах и возвращает их вывод.
  • 02Применяет изменения конфигурации и автоматически переходит в режим конфигурации.
  • 03Поддерживает широкий спектр платформ разных производителей сетевого оборудования, выбираемых через device_type.
  • 04Подключения можно использовать как менеджеры контекста, чтобы SSH-сессии всегда закрывались.
  • 05Использует Paramiko для работы с транспортом SSH.

Сценарии использования

  • Сбор сведений о состоянии интерфейсов или маршрутизации с множества коммутаторов и маршрутизаторов.
  • Автоматизация повторяющихся изменений конфигурации на сетевых устройствах.
  • Создание скриптов для аудита сети или проверки соответствия требованиям на основе вывода устройств.

Быстрый старт

  1. 1

    Установите Netmiko с помощью pip

    pip install netmiko
  2. 2

    Создайте словарь устройств и откройте SSH-соединение с помощью ConnectHandler

  3. 3

    Выполните команду show с помощью send_command

Что важно знать

  • Требуется Python 3.11 или новее; Python 3.10 и более ранние версии больше не поддерживаются.
  • Решение предназначено для извлечения данных с экрана CLI через SSH, поэтому не подходит для API и управления вне CLI.

В подборках

Темы

#network-automation#ssh#python#paramiko#networking#cli

Частые вопросы

Что такое netmiko?
Библиотека Python для упрощения SSH-подключений к CLI сетевых устройств разных производителей, выполнения show-команд и внесения изменений в конфигурацию. Netmiko — библиотека Python на базе Paramiko, которая упрощает подключение к сетевым устройствам по SSH и работу с их командной строкой. Автоматизация сетей часто требует собирать вывод show-команд или применять изменения конфигурации, и Netmiko выполняет эти операции на широком спектре платформ.
netmiko можно использовать бесплатно? Какая у него лицензия?
netmiko распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
netmiko всё ещё поддерживается?
Активно поддерживается. Последний коммит в netmiko — 30 окт. 2026 г..
Для чего можно использовать netmiko?
Сбор сведений о состоянии интерфейсов или маршрутизации с множества коммутаторов и маршрутизаторов. Автоматизация повторяющихся изменений конфигурации на сетевых устройствах. Создание скриптов для аудита сети или проверки соответствия требованиям на основе вывода устройств.
Как установить netmiko?
Установите Netmiko с помощью pip: pip install netmiko Создайте словарь устройств и откройте SSH-соединение с помощью ConnectHandler Выполните команду show с помощью send_command
Где скачать netmiko?
Исходный код и инструкции по установке — на GitHub: https://github.com/ktbyers/netmiko

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

CLI в стиле netcat и библиотека Go для соединения двух машин через плоскость передачи данных WireGuard в Tailscale — без аккаунта Tailscale и управляющей плоскости.

8,8 тыс.+64 за неделю402GoBSD-3-ClauseАктивно поддерживаетсяОбновлён позавчера

Веб-приложение с открытым исходным кодом для моделирования и документирования сетевой инфраструктуры и единый источник достоверных данных с REST- и GraphQL API для автоматизации.

DevOps и облака#network-automation#ipam#dcim
21,9 тыс.+52 за неделю3,2 тыс.PythonApache-2.0Активно поддерживаетсяОбновлён вчера

Клиент на основе FUSE, который подключает удалённую файловую систему по SFTP и позволяет просматривать и редактировать файлы на SSH-сервере как в локальной папке.

7,7 тыс.+10 за неделю553CGPL-2.0Активно поддерживаетсяОбновлён 7 дней назад