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 的 Socket 编程
Mar 24 Python
python利用装饰器进行运算的实例分析
Aug 04 Python
对pandas的dataframe绘图并保存的实现方法
Aug 05 Python
python numpy函数中的linspace创建等差数列详解
Oct 13 Python
python远程调用rpc模块xmlrpclib的方法
Jan 11 Python
Python学习笔记之For循环用法详解
Aug 14 Python
Python PyInstaller库基本使用方法分析
Dec 12 Python
解决Python import docx出错DLL load failed的问题
Feb 13 Python
用Python生成HTML表格的方法示例
Mar 06 Python
python报错: 'list' object has no attribute 'shape'的解决
Jul 15 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
Nov 13 Python
python双向链表实例详解
May 25 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 清除网页病毒的方法
2008/12/05 PHP
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
jQuery中hasClass()方法用法实例
2015/01/06 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
基于Bootstrap分页的实例讲解(必看篇)
2017/07/04 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
vue的diff算法知识点总结
2018/03/29 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
python基础教程之自定义函数介绍
2014/08/29 Python
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
Python制作Windows系统服务
2017/03/25 Python
python 自定义对象的打印方法
2019/01/12 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
萌新HTML5 入门指南(二)
2020/11/09 HTML / CSS
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
计算机专业个人求职信范例
2013/09/23 职场文书
计算机专业大学生的自我评价
2013/11/14 职场文书
机械系大学毕业生推荐信
2013/11/27 职场文书
人事主管岗位职责范本
2013/12/04 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
贫困生助学金感谢信
2015/01/21 职场文书
Mysql中存储引擎的区别及比较
2021/06/04 MySQL
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL