python使用paramiko模块通过ssh2协议对交换机进行配置的方法
作者:一路湘北 发布时间:2022-05-16 03:03:17
标签:python,paramiko,ssh2,交换机
该代码用的是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)
来源:https://blog.csdn.net/qq_25134989/article/details/78918188


猜你喜欢
- 在学习和使用各种数据库的过程中,我们常常会遇到聚族索引、非聚族索引、组合索引的概念,这些索引对我们使用数据库,特别是查询的速度的
- 一、前言我们经常谈论的缓存一词,更多的类似于将硬盘中的数据存放到内存中以至于提高读取速度,比如常说的redis,就经常用来做数据的缓存。Py
- 享元模式(Flyweight Pattern)是什么享元模式是一种结构型模式,它通过共享对象来减少系统中的对象数量,从而降低了内存的使用和系
- 本文实例讲述了python飞机大战pygame碰撞检测实现方法。分享给大家供大家参考,具体如下:目标了解碰撞检测方法碰撞实现01. 了解碰撞
- USE masterGODECLARE @DBName sysname, &nbs
- 一、pip异常有一小部分童鞋在打开cmd输入pip后出现下面情况:Did not provide a commandDid not prov
- Python处理json字符串中的非法双引号工作中数据清洗时遇到以下情况:a = '{"地区": "湖
- 最近刚换工作不久,没太多的时间去整理工作中的东西,大部分时间都在用来熟悉新公司的业务,熟悉他们的代码框架了,最主要的是还有很多新东西要学,我
- 启动IDLE后会打开Python shell窗口。当键入代码 时,它会基于Python语法提供自动缩进和代码着色功能。使用IDLE中的Pyt
- 如下所示:#coding:utf8import pandas as pdimport numpy as npfrom pandas impo
- 下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示:import osimport datetimeimp
- LCase:转成小写 UCase:转成大写 下面是ASP中的代码,可以直接演示效果的。 代码如下:<% dim s
- 准备篇:CentOS 6.6系统安装配置图解教程https://www.jb51.net/os/239738.html一、配置防火墙,开启8
- 在项目过程中,需要设置各种IP和端口号信息等,如果每次都在源程序中更改会很麻烦(因为每次都要重启项目重新加载配置信息),因此将需要修改的参数
- 前置条件确保mysql的版本是5.7+一、新建mysql表增加json字段二、pojo类package com.cxstar.domain;
- 通过查看书籍,自己总结了一下,怎样用python代码实现调用笔记本摄像头的功能。这主要是通过opencv中cv2模块来实现这个功能。其中是调
- 本程序是利用3.x的Firefox浏览器可以读取本地文件的特性,实现通过xmlHttPRequest上传大文件功能,并在可以上传过程中动态显
- 根据Vue.js + Element UI + MongoDB进行开发P1 安装Vue-CLIVue.js文档 利用Vue.js提供的一个官
- 对range()逆序的解释在 Python3.6 中,range() 函数返回一个可迭代的范围对象,范围类型表示不可变的数字序列,一般用在
- 0 环境Python版本:3.6.8系统版本:macOS MojavePython Jupyter Notebook1 引言七月了,大家最近