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使用xmlrpclib模块实现对百度google的ping功能
Jun 02 Python
Python 搭建Web站点之Web服务器与Web框架
Nov 06 Python
初学python的操作难点总结(新手必看篇)
Aug 03 Python
Python绘制七段数码管实例代码
Dec 20 Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 Python
深入解析python中的实例方法、类方法和静态方法
Mar 11 Python
python数据预处理之数据标准化的几种处理方式
Jul 17 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
django中的图片验证码功能
Sep 18 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
Mar 30 Python
详解pycharm2020.1.1专业版安装指南(推荐)
Aug 07 Python
Python3爬虫RedisDump的安装步骤
Feb 20 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
10条PHP高级技巧[修正版]
2011/08/02 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
PHP递归的三种常用方式
2019/02/28 PHP
PHP创建XML接口示例
2019/07/04 PHP
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
js输入框邮箱自动提示功能代码实现
2013/12/10 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
jQuery中triggerHandler()方法用法实例
2015/01/19 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
js原生日历的实例(推荐)
2017/10/31 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
详解Axios统一错误处理与后置
2018/09/26 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
基于vue的video播放器的实现示例
2021/02/19 Vue.js
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
python写的一个文本编辑器
2014/01/23 Python
python改变日志(logging)存放位置的示例
2014/03/27 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
python 日志增量抓取实现方法
2018/04/28 Python
基于Python实现用户管理系统
2019/02/26 Python
python批量修改图片尺寸,并保存指定路径的实现方法
2019/07/04 Python
python3 下载网络图片代码实例
2019/08/27 Python
解决Keras自带数据集与预训练model下载太慢问题
2020/06/12 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
幼儿园母亲节活动方案
2014/03/10 职场文书
节水倡议书范文
2014/04/15 职场文书
村级换届选举方案
2014/05/10 职场文书
赡养老人协议书范本
2015/08/06 职场文书
聘任书格式及范文
2015/09/21 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL