新闻中心> 文章详情
都2022年了,不会还有人通过display save来采集设备配置吧?!
小伙伴们,如果你碰到了以下情况,怎么处理?
割接准备工作中,所有被替换的旧设备都需要导出配置信息。
而队友只给了你一个A4纸的旧设备管理IP及用户账号。
So,接下来请自由发挥。
(动图来自SOOGIF)
---》输入一台设备ip地址
---》输入ssh用户名、ssh密码
---》开启超级终端日志记录功能
---》display cu 复制所有配置
重复上述操作,直至所有设备搞定。
那为何精神小伙臧老师能变为神级大师,因为他有个神级老友:Paramiko
本次案例使用SSHClient类:
SSHClient类是与SSH服务器会话的高级表示。
这个类已经包装了Transport类、Channel类和SFTPClient类来进行会话通道的建立和鉴权认证。
本案例中使用的方法介绍:
①connect():实现远程服务器的连接与认证。
如下为方法示例:
②set_missing_host_key_policy():设置连接到没有已知主机密钥的服务器时使用的策略。
如下为方法示例:
③invoke_shell():基于SSH会话连接,启动一个交互式shell会话。
如下为方法示例:
①网络编程中的公共用途的套接字函数
.send()向对端发送字符串;
.recv()获取对端的相应数据,指定接收的数据量
如下为方法示例:
②对于字符串的处理
split() 通过指定分隔符对字符串进行切片;
如下为方法示例:
③对文件处理
.open() 方法用于打开一个文件,并且设置需要的打开选项。
.write() 方法用于写入字符串到文件。
.close() 方法用于关闭指定的文件。
如下为方法示例:
附上本次操练的环境,心痒痒的小伙伴,可以自己操练起来啦!
需求:需要获取拓扑中四台路由器的配置信息,分别保存在4个txt文件中
配置:以R1为例
[R1]user-interface vty 0 4
[R1-ui-vty0-4] authentication-mode aaa
[R1-ui-vty0-4] protocol inbound all
[R1]aaa
[R1-aaa] local-user huawei password cipher huawei123
[R1-aaa] local-user huawei privilege level 15
[R1-aaa] local-user huawei service-type telnet ssh
[R1]stelnet server enable
[R1]rsa local-key-pair create
[R1]ssh user huawei authentication-type password
用于SSH远程登录设备并获取设备配置命令的Python脚本,后续使用只需要修改ip_list、user、pwd参数即可。
运行脚本---》剩下的交给脚本自动运行
运行脚本文件
此时,是否会有小伙伴觉得:咦~~just so so~
那么,想要跟小臧老师学习更多的自动化运维技术,欢迎来万和。成为运维大神,指日可待!
扫码添加好友
成为职场高薪宠儿