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 文件和输入输出小结
Oct 09 Python
Python类的继承和多态代码详解
Dec 27 Python
python如何将图片转换为字符图片
Aug 19 Python
Django项目实战之用户头像上传与访问的示例
Apr 21 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
Jun 11 Python
TensorFlow用expand_dim()来增加维度的方法
Jul 26 Python
python 处理telnet返回的More,以及get想要的那个参数方法
Feb 14 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
Mar 18 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
Oct 10 Python
Python numpy数组转置与轴变换
Nov 15 Python
python实现批量命名照片
Jun 18 Python
使用Python解析Chrome浏览器书签的示例
Nov 13 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 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
2012/03/07 PHP
php继承中方法重载(覆盖)的应用场合
2015/02/09 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
JavaScript中的undefined学习总结
2013/11/30 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
bootstrap中使用google prettify让代码高亮的方法
2016/10/21 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
python 简单的多线程链接实现代码
2016/08/28 Python
python获取多线程及子线程的返回值
2017/11/15 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
2018/02/08 Python
Python内置函数reversed()用法分析
2018/03/20 Python
Python实现的端口扫描功能示例
2018/04/08 Python
用Python实现大文本文件切割的方法
2019/01/12 Python
python网络应用开发知识点浅析
2019/05/28 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
HTML5中使用postMessage实现两个网页间传递数据
2016/06/22 HTML / CSS
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
大专生自我鉴定范文
2013/10/01 职场文书
优秀研究生自我鉴定
2013/12/04 职场文书
小学一年级评语大全
2014/04/22 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
php访问对象中的成员的实例方法
2021/11/17 PHP
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android