都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~
那么,想要跟小臧老師學習更多的自動化運維技術,歡迎來萬和。成為運維大神,指日可待!
掃碼添加好友
成為職場高薪寵兒