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 如何访问外围作用域中的变量
Sep 11 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
Python基于socket实现简单的即时通讯功能示例
Jan 16 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
python 格式化输出百分号的方法
Jan 20 Python
python里 super类的工作原理详解
Jun 19 Python
使用Python函数进行模块化的实现
Nov 15 Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 Python
Python类的绑定方法和非绑定方法实例解析
Mar 04 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
浅谈django框架集成swagger以及自定义参数问题
Jul 07 Python
python与js主要区别点总结
Sep 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
玛琪朵 Macchiato
2021/03/03 咖啡文化
PHP+DBM的同学录程序(5)
2006/10/09 PHP
用缓存实现静态页面的测试
2006/12/06 PHP
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
php cli 小技巧
2013/06/03 PHP
微信公众平台开发实现2048游戏的方法
2015/04/15 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
JavaScript开发时的五个注意事项
2007/12/08 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
2011/11/14 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
JavaScript数组随机排列实现随机洗牌功能
2015/03/19 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
基于Vue 服务端Cookies删除的问题
2018/09/21 Javascript
python版本五子棋的实现代码
2018/12/11 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
使用 Python ssh 远程登陆服务器的最佳方案
2020/03/06 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
node中使用shell脚本的方法步骤
2021/03/23 Javascript
大学开学计划书
2014/04/30 职场文书
团队口号大全
2014/06/06 职场文书
二年级学生期末评语
2014/12/26 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
PHP实现rar解压读取扩展包小结
2021/06/03 PHP