Paramiko SSH登入裝置儲存配置

debug_all發表於2024-03-17

實驗描述:

使用Paramiko庫,透過SSH連線網路裝置並執行指令。

網路拓撲:

拓撲圖及初始配置如上。

Python程式碼:

import datetime
import paramiko
import time


ssh_proc = paramiko.SSHClient()    ### 使用SSHClient()
ssh_proc.set_missing_host_key_policy(paramiko.AutoAddPolicy())    ### 配置自動儲存主機金鑰
ssh_proc.connect(hostname="192.168.56.201", username="usr001", password="Huawei@123")    ### 建立SSH通道連線

command = ssh_proc.invoke_shell()  ### 配置互動式命令
command.send("screen-length 0 temporary\n")    ### 傳送命令,一次性展示全部內容
command.send("display curr\n")    ### 傳送命令,檢視裝置配置
time.sleep(1)  ### 傳送命令後睡眠一秒,避免後續接受回顯時上一條命令不完全輸出
recv = command.recv(99999).decode("utf-8").split("<CE1>")[2]    ### 將返回的資料透過"<CE1>"分割,只取配置部分
with open("config/{}_{}.txt".format("CE1",datetime.date.today()), "w") as file:    ### 將檔案儲存到"config"資料夾下,命名為"CE1+'當天日期'"
    file.write(recv)
    file.close()

檢視儲存檔案:

檢視檔案內容(展示部分):

相關文章