該代碼用的是paramiko模塊,python版本是python2.7
下面上源碼
# -*- coding: utf-8 -*- import paramiko import time import os port = '22' username = '****' password = '****' ip = '****' # 測(cè)試用的交換機(jī)ip msg1flag = 0 mycmd1flag = 0 # 核心方法,該方法連接遠(yuǎn)程主機(jī)并打開(kāi)一個(gè)終端,并將該終端返回 def msg1(ip,mport,musername,mpassword,mflag): try: # 設(shè)置ssh連接的遠(yuǎn)程主機(jī)地址和端口 t = paramiko.Transport(ip, mport) # 設(shè)置登錄名和密碼 t.connect(username=musername, password=mpassword) # 連接成功后打開(kāi)一個(gè)channel chan = t.open_session() # 設(shè)置會(huì)話超時(shí)時(shí)間 chan.settimeout(timeout=180) # 打開(kāi)遠(yuǎn)程的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) # 黃棟淋交換機(jī)開(kāi)啟審計(jì)專用 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) # 得到命令返回的結(jié)果 print result strlen = len(result) # 得到結(jié)果字符串的長(zhǎng)度 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())) # 時(shí)間 # 測(cè)試項(xiàng) chan_ip_test = msg1(ip,port,username,password,msg1flag) resu_ip_test = mycmd(chan_ip_test,mycmd1flag)
以上這篇python使用paramiko模塊通過(guò)ssh2協(xié)議對(duì)交換機(jī)進(jìn)行配置的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
