当前位置 > 主页 > 万和大讲堂 >


惊现运维大神秒采集设备信息!

2022-04-29 09:17

都2022年了,不会还有人通过display save来采集设备配置吧?! 

 

瑞思拜.jpg

 

小伙伴们,如果你碰到了以下情况,怎么处理?

割接准备工作中,所有被替换的旧设备都需要导出配置信息。

而队友只给了你一个A4纸的旧设备管理IP及用户账号。

So,接下来请自由发挥。

 

20220428104038.gif

(动图来自SOOGIF)

 

普通网络工程师

---》输入一台设备ip地址

---》输入ssh用户名、ssh密码

---》开启超级终端日志记录功能

---》display cu 复制所有配置


重复上述操作,直至所有设备搞定。


下面有请神级运维大师秀一波~

 

 

为何精神小伙臧老师能变为神级大师,因为他有个神级老友:Paramiko

 
01
Paramiko常用功能类
 

 

image.png

 

本次案例使用SSHClient类:SSHClient类是与SSH服务器会话的高级表示。

这个类已经包装了Transport类、Channel类和SFTPClient类来进行会话通道的建立和鉴权认证。

 

02
SSHClient类及其方法介绍
 

image.png

 

本案例中使用的方法介绍:

①connect():实现远程服务器的连接与认证。


如下为方法示例:

 

image.png

 

②set_missing_host_key_policy():设置连接到没有已知主机密钥的服务器时使用的策略。

如下为方法示例:

 

image.png


③invoke_shell():基于SSH会话连接,启动一个交互式shell会话。

如下为方法示例:

 

image.png
 

03
Paramiko使用流程
 


image.png
 

补充
本案例中使用到的其他功能函数
 

①网络编程中的公共用途的套接字函数

.send()向对端发送字符串
.recv()获取对端的相应数据,指定接收的数据量

如下为方法示例:

image.png

image.png

 

②对于字符串的处理

split() 通过指定分隔符对字符串进行切片;

如下为方法示例:

 

image.png

image.png

 

③对文件处理

 

.open() 方法用于打开一个文件,并且设置需要的打开选项。
.write() 方法用于写入字符串到文件。
.close() 方法用于关闭指定的文件。

 

如下为方法示例:

 

image.png

image.png

 

操作演示环境

附上本次操练的环境,心痒痒的小伙伴,可以自己操练起来啦!

image.png

 

需求需要获取拓扑中四台路由器的配置信息,分别保存在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_listuserpwd参数即可。
 

 

image.png

 

运维大神

运行脚本---》剩下的交给脚本自动运行

 

01

运行脚本文件

 

 

image.png

 

02
自动登录设备、获取所有配置命令、创建文件、保存配置命令
 

image.png

image.png

 

此时,是否会有小伙伴觉得:咦~~just so so~

 

那么,想要跟小臧老师学习更多的自动化运维技术,欢迎来万和。成为运维大神,指日可待!

 

5e806324bb808423d8e582c4a3e45d4.jpg

扫码添加好友

成为职场高薪宠儿

 

 

最近开班 more>
  • 全栈开发
  • 前端基础班
  • 软件测试
  • Java大数据开发工程师
  • 云原生精英班
  • 云网预科班
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第一期
  • Java Web UI Python
  • CISP
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCM 12C
  • OCP 19C
  • RHCA
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • vip班
  • 考试计划
  • 脱产班
  • 脱产班
  • 脱产班
  • 双休班
  • 双休班
  • 双休班
  • 双休班
  • 业余班
  • 业余班
  • 10月16日
  • 10月14日
  • 10月9日
  • 10月30日
  • 10月21日
  • 10月8日10月8日
  • 10月28日
  • 10月21日
  • 10月8日
  • 随时开课
  • 11月10日
  • 11月25日
  • 10月28日
  • 10月14日
  • 11月2日
  • 10月26日
  • 10月26日
  • ——
  • 随时开课
  • ——
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入