informatica:programacion:python:modulos:netmiko
¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Netmiko
Biblioteca de Python basada en Paramiko que facilita las conexiones con dispositivos de red.
Instalación
pip install netmiko
Dispositivos soportados
Salvo los genéricos o terminal serves, los demás hacen que Netmiko realice alguna operación tras iniciar sesión correctamente.
| Sistema | device_type |
|---|---|
| Arista EOS | arista_eos |
| Cisco IOS | cisco_ios |
| Cisco IOS-XR | cisco_xr |
| Cisco NX-OS | cisco_nxos |
| Junos | juniper |
| terminal_server | |
| generic |
La lista completa de device_type soportados por Netmiko está en los índices del array CLASS_MAPPER del fichero ssh_dispatcher.py
Uso
Ejemplo básico
from netmiko import ConnectHandler # Información de conexión device = { 'device_type': 'terminal_server', 'ip': '10.0.65.28', 'username': 'root', 'password': 'abc123.', 'port': 22 } # Conexión net_connect = ConnectHandler(**device) # Ejecución de un comando output = net_connect.send_command("uptime") print() print('#' * 50) print(type(output)) print(output) print('#' * 50) print() # Cerramos la conexión net_connect.disconnect()
Conexión mediante proxy/gateway
También se conoce a esto como conexión mediante jump hosts.
from netmiko import ConnectHandler from jumpssh import SSHSession targetnode = { 'device_type': 'alcatel_sros', 'ip': 'targed_node', 'username': 'admin', 'password': 'admin', 'port': 22, } jh_session = SSHSession('jumpserver_ip','jumpserver_user',password='jumpserver_passwd').open() remote_connect = ConnectHandler(**targetnode) output = remote_connect.send_command("show router interface") print(output)
Recursos
- Netmiko Library: introducción por el autor del módulo.
informatica/programacion/python/modulos/netmiko.1605216057.txt.gz · Última modificación: por tempwin
