欢迎访问宙启技术站
智能推送

使用netmikoConnectHandler()函数自动登录网络设备

发布时间:2023-12-16 09:01:38

netmiko是一个用于远程连接和管理网络设备的Python库。它提供了一个ConnectHandler()函数,可以自动登录远程设备,并执行各种命令。下面是一个使用netmiko的例子。

首先,安装netmiko库。可以使用pip命令来安装:

pip install netmiko

然后,导入必要的库和模块:

from netmiko import ConnectHandler
import time

接下来,定义一个函数来登录设备并执行命令:

def login_and_execute(ip, username, password, command):
    device = {
        'device_type': 'cisco_ios',
        'ip': ip,
        'username': username,
        'password': password,
    }
    
    try:
        # 连接设备
        net_connect = ConnectHandler(**device)
        time.sleep(2) # 等待设备登录成功
        
        # 执行命令
        output = net_connect.send_command(command)
        print(output)
        
    except Exception as e:
        print(f"无法登录设备 {ip}: {e}")
    
    finally:
        # 断开连接
        net_connect.disconnect()

最后,调用函数传递设备的IP地址、用户名、密码和要执行的命令:

ip = '192.168.0.1'
username = 'admin'
password = 'password'
command = 'show interfaces'

login_and_execute(ip, username, password, command)

此例子假设你要登录一个Cisco设备(设备类型为"cisco_ios"),使用IP地址192.168.0.1,用户名为admin,密码为password,并执行show interfaces命令。

当你运行这个脚本时,它将建立到设备的SSH连接,并将show interfaces命令的输出打印到控制台上。然后,它会断开SSH连接。

这是一个简单的例子来演示如何使用netmiko的ConnectHandler()函数自动登录网络设备,并执行命令。你可以根据你自己的需求进行修改和扩展。