python网络自动化运维paramiko实验
运行环境:
物理机:win10 1903
网络设备:EVE-NG模拟器上运行思科三层路由器
网络设备OS版本:cisco ios(versions 15.6)
python环境:pycharm 3.5
python解析器版本:3.8
实验准备:
- 先安装paramiko模块,请自行搜索
- 环境搭建可以参考我之前的文章:https://www.cnblogs.com/my-nas/p/15533750.htm
实验目的:给R4上的loopback 0口配置地址。
实验括扑:

下面的代码来自《网络工程师的python之路》这本书:
import paramiko
import time
ip = '192.168.142.135'
port = '22' #定义ip、端口、用户名
username = 'ccie'
password = 'cisco'
ssh_client = paramiko.SSHClient() #调用paramiko的SSHClient()方法,将其赋值给变量ssh_client
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#默认情况下,paramiko会拒绝所有未知的SSH公钥(publickey),使用这行代码让paramiko接受SSH服务端
#(R4)提供的公钥,这是任何时候使用paramiko都需要用到的标准配置
ssh_client.connect(hostname=ip,username=username,password=password)
print ('Sucessfully connected to ',ip)
#调用paramiko.SSHClient()的connect()函数进行SSH登录。包含基础的用户名、密码、ip和port
#并在登录成功后进行提示。
command = ssh_client.invoke_shell() #登录成功后,唤醒cisco的shell(IOS命令行),并将其赋值于command
#下面使用invoke_shell()的command()函数来对R4“发号施令”。
command.send('conf t\n')
command.send('int lo1\n')
command.send('ip add 4.4.4.4 255.255.255.255\n')
command.send('end\n')
command.send('wr\n')
time.sleep(2)
#因为python是一次性执行所有命令的,没有等待设备返回的时间,会导致回显内容不全的问题。这里手动将python休眠2s
output = command.recv(65535) #这里表示截取65535个字符的回显内容,也是paramiko一次截取的最大回显内容数。
print (output.decode('ascii')) #paramiko的回显内容格式为字节型字符串,需要用decode('ascii')解析为ASCII编码,否则会很难看。
ssh_client.close #配置完成后,使用close方法退出SSH。
实验效果:

python网络自动化运维paramiko实验的更多相关文章
- python网络自动化运维之环境搭建(EVE-NG+pycharm)
参考了很多资料,发现现在很多环境用的都是GNS3加linux下的python,几乎没有是用EVE-NG加上pycharm的教程,EVE的功能如此强大,存在的教程却较少,这里我出一篇教程供使用EVE作为 ...
- python网络自动化运维之telnetlib实验(EVE-NG+pycharm)
运行环境: 物理机:win10 1903 网络设备:EVE-NG模拟器上运行思科三层路由器 网络设备OS版本:cisco ios(versions 15.6) python环境:pycharm 3.3 ...
- 【实战小项目】python开发自动化运维工具--批量操作主机
有很多开源自动化运维工具都很好用如ansible/salt stack等,完全不用重复造轮子.只不过,很多运维同学学习Python之后,苦于没小项目训练.本篇就演示用Python写一个批量操作主机的工 ...
- 【NetDevops】网络自动化运维--1获取用户基本信息
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 之前博客的云主机到期了没续费,被删啦最重要的是没有备份!此处省略几个字..... ...
- Python在自动化运维时经常会用到的方法
得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删除多个目录: ...
- python自动化运维之路~DAY5
python自动化运维之路~DAY5 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模块的分类 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数 ...
- Python自动化运维:技术与最佳实践 PDF高清完整版|网盘下载内附地址提取码|
内容简介: <Python自动化运维:技术与最佳实践>一书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的 ...
- Python自动化运维 技术与最佳实践PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书
点击获取提取码:7bl4 一.内容简介 <python自动化运维:技术与最佳实践>一书在中国运维领域将有"划时代"的重要意义:一方面,这是国内第一本从纵.深和实践角度探 ...
- 自动化运维:使用psutil和paramiko读取远程主机信息
1.前言 今天大致看了下自动化运维的东西,里面介绍到了psutil模块,其封装了linux 下的大部分shell命令,用起来比较方便.但是基本都是介绍在本地如何使用,而实际情况大家很少这样使用,一般 ...
随机推荐
- springcloud整合config组件
config组件 config组件支持两种配置文件获取方式springcould搭建的微服务的配置文件的获取方式有两种.它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中或者本地 ...
- 虚拟机Parallels Desktop 17 (PD17)支持M1 自己动手制作启动器解锁
个人博客:xzajyjs.cn 如果自己有能力的话,直接查看这个视频即可.点此 前段时间刚出pd17,作为mac上最最强(没有之一)的虚拟机,版本17更是更进一步,性能提升极大,更是支持了Monter ...
- [敏捷软工团队博客]Beta阶段使用指南
软件工程教学实践平台使用指南 项目地址:http://20.185.223.195:8000/ 项目团队:the agiles 进入界面如图: 目录 软件工程教学实践平台使用指南 学生端 登录 iss ...
- Java 将Word保存为WPS和WPT格式
本文通过Java示例展示将Word文档(如.doc/.docx)保存为WPS和WPT格式的方法. 程序环境配置 IntelliJ IDEA 2018(jdk 1.8.0) Word Jar包:Spir ...
- MyBatis源码分析(二):MyBatis整体架构及原理
一.Mybatis整体架构导图 二.Mybatis的核心组成 SqlSessionFactoryBuilder(构造器): 根据配置信息(XML)生成SqlSessionFactory工厂接口,构造器 ...
- 如何使用原生的Ribbon
什么是Ribbon 之前分析了如何使用原生的Feign,今天我们来研究 Netflix 团队开发的另外一个类库--Ribbon. Ribbon 和 Feign 有很多相似的地方,首先,它们本质上都是 ...
- C++构造函数注意事项
1.匿名对象 首先应该明确匿名对象,匿名对象是之没有对象名,调用完构造函数后即析构的对象.下面通过代码捕捉类的构造函数和析构函数,以进行说明: #include <iostream> us ...
- 2021CCPC网络赛(重赛)题解
自己还是太菜了,五个小时一个题也没磕出来,还是队友牛逼!... Primality Test 先看这个题,可能一上去就被\(\frac{f(x)+f(f(x))}{2}\)向下取整吓住了,但仔细想想, ...
- Bzoj通过5题纪念
我A了五题啦!!!
- hdu 1847 Good Luck in CET-4 Everybody! (简单博弈)
题意: n张牌,双方轮流抓取.每人每次抓取的牌数必须是2的幂次(1,2,4,8...). 最后抓完的人胜. 思路 : 考虑剩3张牌,后手胜. 考虑3的倍数.假设先抓者当轮抓2x 张,2x %3等于1或 ...