使用 Python paramiko 自动备份设备配置实验
一、实验拓扑:

要求:交换机 SW1 做为 SSH 服务端,桥接本地虚拟虚拟网卡;本地主机通过 python paramiko 库功能登录到 SW1 上进行配置备份;AR1 做为测试 SW1 的 SSH 客户端
二、实验环境搭建:
1、SW1 配置为 SSH 服务端:
1)在 aaa 视图下配置 SSH 用户名、密码、权限和服务类型:
aaaauthentication-scheme defaultauthorization-scheme defaultaccounting-scheme defaultdomain defaultdomain default_adminlocal-user hw password cipher ;[KAPTGW:F-NZPO3JBXBHA!!local-user hw privilege level 3local-user hw service-type ssh
2)在 vty 接口下配置认证方式、允许的协议
user-interface vty 0 4authentication-mode aaaprotocol inbound ssh
3)在全局模式下开启 stelnet 服务并配置允许的用户名、验证方式、用户的服务类型
stelnet server enable
ssh user hw
ssh user hw authentication-type password
ssh user hw service-type stelnet
2、AR1 配置 SSH 客户端
interface GigabitEthernet0/0/0ip address 10.1.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
#ssh client 10.1.1.2 assign rsa-key 10.1.1.2ssh client first-time enable
#
- 注意需要允许第一次 SSH 客户端交互公钥,否则会报错:
Please run the command "ssh client first-time enable"to enable the first-time ac
cess function and try again.
3、Cloud1 配置桥接:

- 注意这里:SW1 连接的是虚拟网卡的内部 UDP 端口,而不是桥接端口 *
4、从 AR1 上测试 SW1 的 SSH 服务端功能:
stelnet 10.1.1.2

三、拓扑详细配置:
SW1:
aaaauthentication-scheme defaultauthorization-scheme defaultaccounting-scheme defaultdomain defaultdomain default_adminlocal-user hw password cipher ;[KAPTGW:F-NZPO3JBXBHA!!local-user hw privilege level 3local-user hw service-type sshlocal-user admin password simple adminlocal-user admin service-type http
#
interface Vlanif10ip address 192.168.56.2 255.255.255.0
#
interface Vlanif20ip address 10.1.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1port link-type accessport default vlan 10interface GigabitEthernet0/0/24port link-type accessport default vlan 20
#
stelnet server enable
ssh user hw
ssh user hw authentication-type password
ssh user hw service-type stelnet
#
user-interface con 0
user-interface vty 0 4authentication-mode aaascreen-length 0protocol inbound ssh
#
AR1:
interface GigabitEthernet0/0/0ip address 10.1.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
#ssh client 10.1.1.2 assign rsa-key 10.1.1.2ssh client first-time enable
四、python 程序搭建:
import paramiko
import time
user="hw"
pwd="hw123"
host="192.168.56.2"
ssh_client=paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy)
ssh_client.connect(hostname=host.strip(),username=user,password=pwd)
print("*"*60) #打印60个*号
cmd=ssh_client.invoke_shell() #创建一个shell会话
cmd.send("system\n")
cmd.send("user-interface vty 0 4\n")
cmd.send("screen-length 0\n")
cmd.send("dis curr\n")
time.sleep(3)
output = cmd.recv(99999).decode()
print(output)
ssh_client.close()
with open(host,"w") as filesv:filesv.write(output)
五、pycharm 安装时的一些问题:
1、安装 paramiko 库:
pip install paramiko
a、在 cmd 窗口下:
检查是否安装了paramiko库:
pip show paramiko
b、在 pycharm 里安装:
文件 —> 设置 —> Python 解释器
2、安装中文汉化包:
文件 —> 设置 —> 插件 —> 搜索 Chinese(Simplicified) Language Pack 并安装
如果报错,可能 pip 插件版本比较老了,按照它的提示重新升级下 pip 插件:
python.exe -m pip install --upgrade pip
升级过后发现:中文插件地址找不到,只好去官网找了个相匹配的版本插件:
pycharm 汉化版本插件下载地址:
其他插件地址在这里:
Jetbrain插件搜索
相关文章:
使用 Python paramiko 自动备份设备配置实验
一、实验拓扑: 要求:交换机 SW1 做为 SSH 服务端,桥接本地虚拟虚拟网卡;本地主机通过 python paramiko 库功能登录到 SW1 上进行配置备份;AR1 做为测试 SW1 的 SSH 客户端 二、实验环境搭建: 1、SW1 配置…...
goland2022.3.3 安装过程
到csdn下载安装包 开始安装 安装完后,安装中文包...
工业级推荐系统冷启动解决方案:基于元迁移学习与动态知识图谱的混合架构设计与实践
技术原理与数学模型 1. 元学习冷启动适配器(MAML改进) 数学原理: \min_\theta \sum_{\mathcal{T}_i\sim p(\mathcal{T})} \mathcal{L}_{\mathcal{T}_i}(U_i(\theta - \alpha\nabla_\theta\mathcal{L}_{\mathcal{T}_i}^{sup}(\theta))))其中…...
小小小病毒(3)(~_~|)
一分耕耘一分收获 声明: 仅供损害电脑,不得用于非法。损坏电脑,作者一律不负责。此作为作者原创,转载请经过同意。 欢迎来到小小小病毒(3) 感谢大家的支持 还是那句话:上代码! …...
在 WSL上的 Ubuntu 中通过 Docker 来运行 Redis,并在微服务项目中使用redis
通过在 WSL(Windows Subsystem for Linux)上的 Ubuntu 虚拟机中通过 Docker 来运行 Redis,然后再微服务项目中使用redis 以下是步骤: 1. 安装 Docker(如果还未安装) 首先,确保你已经在 WSL 的…...
深入解析SVG图片原理:从基础到高级应用
文章目录 引言一、SVG基础概念1.1 什么是SVG?1.2 SVG的优势 二、SVG的基本结构2.1 SVG文档结构2.2 常用SVG元素 三、SVG的工作原理3.1 坐标系与变换3.2 路径与曲线3.3 渐变与滤镜 四、SVG的高级应用4.1 动画与交互4.2 数据可视化4.3 响应式设计 五、SVG的优化与性能…...
Python 中的一种调试工具 assert
assert 是 Python 中的一种调试工具,用于在代码中设置断言(assertion)。断言是一种声明,用于确保某个条件为真。如果条件为假,assert 会触发一个 AssertionError 异常,并可选地输出错误信息。 语法 asser…...
面基Spring Boot项目中实用注解一
在Spring Boot项目中,实用注解根据功能可以分为多个类别。以下是常见的注解分类、示例说明及对比分析: 1. 核心配置注解 SpringBootApplication 作用:标记主启动类,组合了Configuration、EnableAutoConfiguration和ComponentScan…...
【数据库维护】Clickhouse数据库维护关键系统表相关指标说明,支撑定位慢SQL及多实例场景下分析各实例运行情况
背景 当前使用环境上以Docker容器化部署Clickhouse服务8个实例,但在实际运行过程中,发现8个实例内存负载不均衡,ck-0实例在固定时间段内存会直线上升,直至服务报错memory exceeded max memory limit。 为排查ck-0节点内存直线上升…...
委托构造函数与继承构造函数
委托构造函数 允许同一类中的构造函数调用另一个构造函数,以复用初始化逻辑。 委托构造函数不能同时初始化成员变量,只能委托给其他构造函数。 避免循环委托(如构造函数A委托给B,B又委托给A)。 class MyClass { pu…...
DeepSeek操作Excel,实现图表自动化生成
案例 让DeepSeek操作Excel,实现图表自动化生成。我们只要用自然语言输入我们的需求(根据哪块单元格区域做什么图表),就可以直接在Excel中自动生成图表。 操作主界面和图表效果 设置接入方式 这里提供了多种接入方式将DeepSeek接…...
3.5 企业级AI Agent运维体系构建:从容器化部署到智能监控的工业级实践指南
企业级AI Agent运维体系构建:从容器化部署到智能监控的工业级实践指南 引言:AI时代运维的范式革新 Gartner研究指出,AI Agent系统的运维复杂度是传统应用的3.2倍,但采用云原生架构可使故障恢复时间缩短82%。本文以GitHub Sentinel、LanguageMentor等企业级案例为蓝本,揭…...
基于51单片机的定时器实现LED闪烁控制(CT107D)
引言 在嵌入式开发中,定时器是一个非常重要的外设,它可以用于实现精确的时间控制。本文将介绍如何在CT107D单片机综合训练平台上,利用51单片机的定时器T0实现LED灯的定时闪烁控制。具体功能如下: L1指示灯:每隔1秒闪烁…...
【java】作业1
1.需求:(1)机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、原价、月份和头等舱或经济舱;(2)按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济…...
2025有哪些关键词优化工具好用
越来越多的企业和个人开始意识到搜索引擎优化(SEO)对于网站曝光和业务增长的重要性。在SEO优化的过程中,关键词优化占据着至关重要的地位。关键词是用户在搜索引擎中输入的词语,优化关键词有助于提高网站在搜索结果中的排名&#…...
【WPSOffice】汇总
写在前面 PPT篇 幻灯片母版 通过母版功能统一幻灯片的样式、字体、颜色等,提高整体一致性。 统一设置模板样式 字体安装 查找到字体并安装。 在WPS PPT(WPS演示)中,以下是最常用的十个功能,能够帮助用户高效制作…...
海康摄像头IPV6模式,手动,自动,路由公告
海康摄像头DS-2DC7220IW-A 网络设置中的IPv6配置选项。IPv6是互联网协议(IP)的第六版,用于替代IPv4,提供更多的IP地址和改进的网络功能。图片中的选项允许用户选择如何配置设备的IPv6网络连接: 手动:用户可…...
Transformer(3): Add Norm
文章目录 残差连接层归一化作用和其它归一化的比较 dropout基本思想实现方式 残差连接 目的是解决深层网络中梯度消失的问题。 解决方法是进行跳跃连接,即多出一条输出链路,将输入X直接接到输出层上。 公式为 F(X) X。 这样每一层求导的时候至少能够…...
SpringBoot多数据源实践:基于场景的构建、实现和事务一体化研究
1. 多数据源应用场景剖析 1.1 业务驱动的多数据源需求 数据量与业务复杂度引发的分库分表:在现代企业级应用中,随着业务的不断拓展和用户量的持续增长,数据量呈爆炸式增长。例如,在大型电商平台中,用户数据、订单数据…...
SOCKET建立简单的tcp服务端与客户端通信
socket是什么 socket可以使两台机子建立连接,就像连接风扇与电源的插座一样,socket可以使服务端与客户端建立连接,服务端就像供电厂,而客户端就像用电器,而socket就是连接二者的插座。 建立简单的连接 如果我们想在客…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...
