Библиотека Python и CLI для SSH-туннелей, перенаправляющих локальные порты к сервисам на удалённых или закрытых хостах с помощью paramiko.
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
Установите Netmiko с помощью pip
pip install netmiko - 2
Создайте словарь устройств и откройте SSH-соединение с помощью ConnectHandler
- 3
Выполните команду show с помощью send_command
Что важно знать
- Требуется Python 3.11 или новее; Python 3.10 и более ранние версии больше не поддерживаются.
- Решение предназначено для извлечения данных с экрана CLI через SSH, поэтому не подходит для API и управления вне 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 и управляющей плоскости.
Менеджер SSH-туннелей с CLI на Go: настраивайте, открывайте и закрывайте пробросы портов через TOML-конфиг.
Веб-приложение с открытым исходным кодом для моделирования и документирования сетевой инфраструктуры и единый источник достоверных данных с REST- и GraphQL API для автоматизации.
Реализация протокола SSHv2 на чистом Python с поддержкой клиентской и серверной функциональности для Python-программ.
Клиент на основе FUSE, который подключает удалённую файловую систему по SFTP и позволяет просматривать и редактировать файлы на SSH-сервере как в локальной папке.