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 模拟登陆的两种实现方法
Aug 10 Python
python K近邻算法的kd树实现
Sep 06 Python
Python发送邮件测试报告操作实例详解
Dec 08 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
Apr 16 Python
Python Django的安装配置教程图文详解
Jul 17 Python
Django框架自定义模型管理器与元选项用法分析
Jul 22 Python
pygame库实现俄罗斯方块小游戏
Oct 29 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
Mar 02 Python
PyQt5实现登录页面
May 30 Python
python使用QQ邮箱实现自动发送邮件
Jun 22 Python
Python实现七个基本算法的实例代码
Oct 08 Python
如何在Python中创建二叉树
Mar 30 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配置文件php.ini的路径的方法
2014/08/20 PHP
php单一接口的实现方法
2015/06/20 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
JS图片预加载 JS实现图片预加载应用
2012/12/03 Javascript
jQuery操作checkbox选择(list/table)
2013/04/07 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
css配合jquery美化 select
2013/11/29 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
2014/05/05 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
2015/03/27 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
详解vue-router 命名路由和命名视图
2018/06/01 Javascript
animate.css在vue项目中的使用教程
2018/08/05 Javascript
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
Python实现八大排序算法
2016/08/13 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
台湾母婴用品限时团购:妈咪爱
2018/08/03 全球购物
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
党的群众路线对照检查材料
2014/09/22 职场文书
项目合作协议书
2014/09/23 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
机关班子查摆问题及整改措施
2014/10/28 职场文书
业务员工作态度散漫检讨书
2014/11/02 职场文书
销售督导岗位职责
2015/04/10 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
MySql新手入门的基本操作汇总
2021/05/13 MySQL