python使用paramiko模块通过ssh2协议对交换机进行配置的方法


Posted in Python onJuly 25, 2019

该代码用的是paramiko模块,python版本是python2.7

下面上源码

# -*- coding: utf-8 -*-

import paramiko
import time
import os

port = '22'
username = '****'
password = '****'
ip = '****'  # 测试用的交换机ip

msg1flag = 0
mycmd1flag = 0

# 核心方法,该方法连接远程主机并打开一个终端,并将该终端返回
def msg1(ip,mport,musername,mpassword,mflag):
  try:
    # 设置ssh连接的远程主机地址和端口
    t = paramiko.Transport(ip, mport)
    # 设置登录名和密码
    t.connect(username=musername, password=mpassword)
    # 连接成功后打开一个channel
    chan = t.open_session()
    # 设置会话超时时间
    chan.settimeout(timeout=180)
    # 打开远程的terminal
    chan.get_pty()
    # 激活terminal
    chan.invoke_shell()
    return chan
  except Exception,e:
    mflag += 1
    time.sleep(5)
    if mflag < 3:
      msg1(ip,mport,musername,mpassword,mflag)

# 黄栋淋交换机开启审计专用
def mycmd(chan,my1flag):
  try:
    chan.send('system' + '\n') # 输入命令
    chan.send('****' + '\n')  # 输入命令
    chan.send('****' + '\n')
    chan.send('****' + '\n')
    time.sleep(50)
    i = 1
    while i < 3:
      chan.send('\n')
      i += 1
    time.sleep(2)
    result = chan.recv(65535)   # 得到命令返回的结果
    print result
    strlen = len(result)      # 得到结果字符串的长度
    print strlen
    return result

  except Exception,e:
    # print e
    my1flag += 1
    time.sleep(5)
    if my1flag < 3:
      mycmd(chan,my1flag)



nowtime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) # 时间

# 测试项
chan_ip_test = msg1(ip,port,username,password,msg1flag)
resu_ip_test = mycmd(chan_ip_test,mycmd1flag)

以上这篇python使用paramiko模块通过ssh2协议对交换机进行配置的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python标准库之sqlite3使用实例
Nov 25 Python
状态机的概念和在Python下使用状态机的教程
Apr 11 Python
Python实现批量修改文件名实例
Jul 08 Python
详解Python中类的定义与使用
Apr 11 Python
python爬虫爬取淘宝商品信息(selenum+phontomjs)
Feb 24 Python
Python高级特性与几种函数的讲解
Mar 08 Python
python3中rank函数的用法
Nov 27 Python
Pytorch释放显存占用方式
Jan 13 Python
python3.7通过thrift操作hbase的示例代码
Jan 14 Python
Visual Studio Code搭建django项目的方法步骤
Sep 17 Python
Python基于locals返回作用域字典
Oct 17 Python
如何使用Django Admin管理后台导入CSV
Nov 06 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
Jul 25 #Python
Python 3.8 新功能全解
Jul 25 #Python
python3.7 的新特性详解
Jul 25 #Python
python issubclass 和 isinstance函数
Jul 25 #Python
django的分页器Paginator 从django中导入类
Jul 25 #Python
python threading和multiprocessing模块基本用法实例分析
Jul 25 #Python
Python交互式图形编程的实现
Jul 25 #Python
You might like
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
js和php邮箱地址验证的实现方法
2014/01/09 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
php判断目录存在的简单方法
2019/09/26 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
Position属性之relative用法
2015/12/14 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
js轮播图无缝滚动效果
2017/06/17 Javascript
js中less常用的方法小结
2017/08/09 Javascript
jQuery选择器特殊字符与属性空格问题
2017/08/14 jQuery
zTree节点文字过多的处理方法
2017/11/24 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
python开发简易版在线音乐播放器
2017/03/03 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
python列表的逆序遍历实现
2020/04/20 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
国际花店:Pickup Flowers
2020/04/10 全球购物
TCP/IP中的TCP和IP分别承担什么责任
2012/04/21 面试题
岗位竞聘报告范文
2014/11/06 职场文书
向女朋友道歉的话
2015/01/20 职场文书
财务人员廉洁自律心得体会
2016/01/13 职场文书
Python合并pdf文件的工具
2021/07/01 Python