实验描述:
使用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()
查看保存文件:
查看文件内容(展示部分):