实验描述:

使用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()

查看保存文件:

查看文件内容(展示部分):