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实现逆波兰计算表达式实例详解
May 06 Python
python爬虫之百度API调用方法
Jun 11 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
python实现批量图片格式转换
Jun 16 Python
更新修改后的Python模块方法
Mar 03 Python
使用python telnetlib批量备份交换机配置的方法
Jul 25 Python
python KNN算法实现鸢尾花数据集分类
Oct 24 Python
如何利用pygame实现简单的五子棋游戏
Dec 29 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
Mar 08 Python
Python如何省略括号方法详解
Mar 21 Python
python实现批量转换图片为黑白
Jun 16 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
May 28 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
PHP迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
php set_time_limit()函数的使用详解
2013/06/05 PHP
PHP把网页保存为word文件的三种方法
2014/04/01 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
javascript获取网页中指定节点的父节点、子节点的方法小结
2013/04/24 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
js关于精确计算和数值格式化以及直接引js文件
2014/01/28 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
node.js中的fs.lstatSync方法使用说明
2014/12/16 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
又拍云 Node.js 实现文件上传、删除功能
2018/10/28 Javascript
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
express.js中间件说明详解
2019/03/19 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
python pickle 和 shelve模块的用法
2013/09/16 Python
Python中的下划线详解
2015/06/24 Python
详解duck typing鸭子类型程序设计与Python的实现示例
2016/06/03 Python
Python设计模式之观察者模式原理与用法详解
2019/01/16 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
详解python中各种文件打开模式
2020/01/19 Python
阿根廷网上配眼镜:SmartBuyGlasses阿根廷
2016/08/19 全球购物
Zadig&Voltaire官网:法国时装品牌
2018/01/05 全球购物
大门门卫岗位职责
2013/11/30 职场文书
周鸿祎:教你写创业计划书
2013/12/30 职场文书
师范生的个人求职信范文
2014/01/04 职场文书
《雾凇》教学反思
2014/02/17 职场文书
《放小鸟》教学反思
2014/04/20 职场文书
医学检验专业自荐信
2014/09/18 职场文书
学校艾滋病宣传活动总结
2015/05/09 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
初中数学教学反思范文
2016/02/17 职场文书