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中range()与xrange()用法分析
Sep 21 Python
python3.6连接MySQL和表的创建与删除实例代码
Dec 28 Python
TensorFlow模型保存和提取的方法
Mar 08 Python
python logging日志模块以及多进程日志详解
Apr 18 Python
django之跨表查询及添加记录的示例代码
Oct 16 Python
详解Python字典小结
Oct 20 Python
python实现简单的文字识别
Nov 27 Python
Python 编程速成(推荐)
Apr 15 Python
python scrapy爬虫代码及填坑
Aug 12 Python
Python 批量读取文件中指定字符的实现
Mar 06 Python
python 实现两个线程交替执行
May 02 Python
Python 如何利用ffmpeg 处理视频素材
Nov 27 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截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
jquery实现更改表格行顺序示例
2014/04/30 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
js只执行1次的函数示例
2016/07/20 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
jquery+ajaxform+springboot控件实现数据更新功能
2018/01/22 jQuery
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
python模拟鼠标拖动操作的方法
2015/03/11 Python
Python进行数据提取的方法总结
2016/08/22 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
pycharm远程调试openstack代码
2017/11/21 Python
python基于递归解决背包问题详解
2019/07/03 Python
基于python3监控服务器状态进行邮件报警
2019/10/19 Python
python3中使用__slots__限定实例属性操作分析
2020/02/14 Python
Python如何读取、写入CSV数据
2020/07/28 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
神经网络训练采用gpu设置的方式
2021/03/03 Python
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
JDO的含义
2012/11/17 面试题
怎样写演讲稿
2014/01/04 职场文书
高二地理教学反思
2014/01/24 职场文书
2016年机关单位节能宣传周活动总结
2016/04/05 职场文书
mysql的单列多值存储实例详解
2022/04/05 MySQL
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle