使用Netmiko远程登录下发配置

Netdevops目前我了解了两种方式,一种是基于传统的CLI连接,使用paramiko、netmiko与网络设备进行交互,另一种是基于json、XML等统一的数据模型进行配置管理,被管设备需要实现相应的模块,例如netconf。

本次记录学习netmiko过程
在这里插入图片描述

netmiko针对主流的网络设备平台进行了适配,编写了对应的驱动类,这些驱动类提供了很多便捷的方法,比如登录的时候帮我们检查一下是否登录完成,自动帮助我们输入用户名密码,自动帮我们取消分页,执行命令的时候自动帮我们判断回显是否结束,从文件中读取配置等等。

使用ConnectHandler函数连接设备

# 通过netmiko模块的链接库函数ConnectHandler()来SSH登录⽹络设备
from netmiko import ConnectHandler                  


# 创建⼀个名为sw2的字典,该字典的这四个键都是必须有的键
# #Netmiko⽀持SSH登录绝⼤多数主流⼚商的⽹络设备,并且⽀持各⼤⼚商不同OS类型的设备
# 由于不同⼚商的设备登录后的命令⾏界⾯及命令是不⼀样的,所以必须通过”device_type“来指定ssh登录的设备的OS号
# 使用的ENSP虚拟环境,因此'deivce_type'的键值为'huawei'
SW2={
    'device_type':'huawei',
    'ip':'192.168.0.1',
    'username':'zjx',
    'password':'123',
}

# 通过Netmiko的ConnectHandler()函数,用已经创建的字典 SW2 进行 SSH 连接,将它赋值给 connect 变量。
connect=ConnectHandler(**SW2)
# 如果 SSH 登录设备成功,则提示用户并告知所登录的交换机的 IP 地址
print("Successfully connected to "+SW2['ip'])

# 创建一个名为 config_commands 的列表,其元素为需要在交换机上依次执行的命令。
config_commands=['int loop 0','ip address 1.1.1.1 255.255.255.255']

# 以刚刚创建的 config_commands 列表为参数,调用 ConnectHandler()的send_config_set()函数来使用上述命令对 SW2 做配置,并将配置过程打印出来。
output=connect.send_config_set(config_commands)
print(output)

# 调用 ConnectHandler()的 send_command()函数,对交换机输入命令“show run int loop 1”并将回显内容打印出来。
# 需要注意的是,send_command()一次只能向设备输入一条命令,而 send_config_set()则可向设备输入多条命令。
result=connect.send_command('show run int loop 1')
print(result)


在这里插入图片描述
登录查看配置成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值