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中的异常处理简明介绍
Apr 13 Python
在Django中限制已登录用户的访问的方法
Jul 23 Python
python多进程共享变量
Apr 06 Python
python difflib模块示例讲解
Sep 13 Python
Python常用模块之requests模块用法分析
May 15 Python
python set集合使用方法解析
Nov 05 Python
Python IDE环境之 新版Pycharm安装详细教程
Mar 05 Python
用python实现前向分词最大匹配算法的示例代码
Aug 06 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
Nov 10 Python
如何利用Python写个坦克大战
Nov 18 Python
python使用scapy模块实现ARP扫描的过程
Jan 21 Python
python自动生成sql语句的脚本
Feb 24 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
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
ThinkPHP模板替换与系统常量及应用实例教程
2014/08/22 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
Javascript实现的分页函数
2007/02/07 Javascript
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
快速解决vue-cli不能初始化webpack模板的问题
2018/03/20 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
tornado捕获和处理404错误的方法
2014/02/26 Python
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
python http接口自动化脚本详解
2018/01/02 Python
python编程嵌套函数实例代码
2018/02/11 Python
通过PYTHON来实现图像分割详解
2019/06/26 Python
django使用xadmin的全局配置详解
2019/11/15 Python
Python面向对象原理与基础语法详解
2020/01/02 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
HTML5制作表格样式
2016/11/15 HTML / CSS
Marlies Dekkers内衣法国官方网上商店:国际知名的荷兰内衣品牌
2019/03/18 全球购物
关键字throw与throws的用法差异
2016/11/22 面试题
英语商务邀请函范文
2014/01/16 职场文书
简历里的自我评价范文
2014/02/24 职场文书
大学生村官承诺书
2014/03/28 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
Mysql 一主多从的部署
2022/05/20 MySQL