Biblioteca de Python y CLI para crear túneles SSH que reenvían puertos locales a servicios en hosts remotos o privados mediante paramiko.
ktbyers/netmiko
Biblioteca de Python que simplifica las conexiones SSH a las CLI de dispositivos de red de varios fabricantes para enviar comandos show y cambios de configuración.
- Estrellas
- 4,319
- Forks
- 1,393
- Issues abiertos
- 60
- Último commit
- hace 8 días
¿Qué es?
Netmiko es una biblioteca de Python basada en Paramiko que facilita la conexión a dispositivos de red mediante SSH y la interacción con sus interfaces de línea de comandos. La automatización de redes suele implicar recopilar la salida de comandos show o aplicar cambios de configuración; Netmiko gestiona estas operaciones en una amplia variedad de plataformas de dispositivos.
En lugar de implementar desde cero la gestión de prompts y la búsqueda con expresiones regulares para cada fabricante, los usuarios proporcionan un diccionario del dispositivo con un device_type como cisco_ios y llaman a métodos como send_command o send_config_set. La biblioteca se encarga de entrar en el modo de configuración y esperar los prompts. Las conexiones se pueden usar como gestores de contexto para cerrar las sesiones de forma fiable.
El proyecto es compatible con Python 3.11 y versiones posteriores, y se instala con pip. Las plataformas compatibles se enumeran en el documento PLATFORMS del proyecto; junto al código también están disponibles ejemplos y la documentación de la API.
Funciones clave
- 01Envía comandos show a los dispositivos de red y devuelve su salida.
- 02Aplica cambios de configuración y entra automáticamente en el modo de configuración.
- 03Admite una amplia variedad de plataformas de fabricantes de equipos de red, seleccionadas mediante device_type.
- 04Se puede usar como gestor de contexto para garantizar que las sesiones SSH se desconecten.
- 05Se basa en Paramiko para el transporte SSH subyacente.
Casos de uso
- Recopilar el estado de interfaces o rutas de un conjunto de switches y routers.
- Automatizar cambios de configuración repetitivos en dispositivos de red.
- Crear scripts de auditoría o cumplimiento de redes que lean la salida de los dispositivos.
Inicio rápido
- 1
Instala Netmiko con pip
pip install netmiko - 2
Crea un diccionario de dispositivos y abre una conexión SSH con ConnectHandler
- 3
Ejecuta un comando show con send_command
Antes de usarlo
- Requiere Python 3.11 o posterior; Python 3.10 y versiones anteriores ya no son compatibles.
- Está pensado para extraer datos de la pantalla de la CLI por SSH, por lo que no es adecuado para API ni para la administración que no se realiza mediante CLI.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es netmiko?
- Biblioteca de Python que simplifica las conexiones SSH a las CLI de dispositivos de red de varios fabricantes para enviar comandos show y cambios de configuración. Netmiko es una biblioteca de Python basada en Paramiko que facilita la conexión a dispositivos de red mediante SSH y la interacción con sus interfaces de línea de comandos. La automatización de redes suele implicar recopilar la salida de comandos show o aplicar cambios de configuración; Netmiko gestiona estas operaciones en una amplia variedad de plataformas de dispositivos.
- ¿netmiko es gratuito? ¿Qué licencia tiene?
- netmiko es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿netmiko sigue mantenido?
- Mantenimiento activo. El último commit de netmiko fue el 30 oct 2026.
- ¿Para qué puedo usar netmiko?
- Recopilar el estado de interfaces o rutas de un conjunto de switches y routers. Automatizar cambios de configuración repetitivos en dispositivos de red. Crear scripts de auditoría o cumplimiento de redes que lean la salida de los dispositivos.
- ¿Cómo se instala netmiko?
- Instala Netmiko con pip: pip install netmiko Crea un diccionario de dispositivos y abre una conexión SSH con ConnectHandler Ejecuta un comando show con send_command
- ¿Dónde consigo netmiko?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ktbyers/netmiko
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
CLI similar a netcat y biblioteca de Go para conectar dos máquinas mediante el plano de datos WireGuard de Tailscale, sin cuenta ni plano de control de Tailscale.
Un administrador de túneles SSH para la línea de comandos, escrito en Go, que permite definir, abrir y cerrar redirecciones de puertos desde un archivo TOML.
Aplicación web open source que sirve como fuente de verdad para modelar y documentar infraestructura de red, con API REST y GraphQL para automatizar tareas.
Implementación de SSHv2 en Python puro que ofrece funciones de cliente y servidor para programas Python.
Cliente basado en FUSE que monta un sistema de archivos remoto mediante SFTP para explorar y editar archivos de un servidor SSH como si fueran una carpeta local.