paramiko是用python語言寫的一個模塊,遵循SSH2協(xié)議,支持以加密和認證的方式,進行遠程服務(wù)器的連接。
在鎮(zhèn)坪等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需開發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),鎮(zhèn)坪網(wǎng)站建設(shè)費用合理。由于使用的是python這樣的能夠跨平臺運行的語言,所以所有python支持的平臺,如Linux,
Solaris, BSD, MacOS X,
Windows等,paramiko都可以支持。因此,如果需要使用SSH從一個平臺連接到另外一個平臺,進行一系列的操作時,paramiko是最佳工具之一。
此外,由于常見的交換機都支持ssh,那么使用paramiko控制交換機變成現(xiàn)實。
pip 安裝方式
pip install paramiko
如果沒有安裝pycrypto,則需要先安裝pycrypto庫
使用
paramiko提供了多種連接方式,在此我們使用ssh的方式連接交換機并發(fā)送命令以實現(xiàn)控制交換機的目的。
通常有兩種控制方式,使用SSHClient和使用terminal,這兩種的差別分別為:
(1)使用SSHClient發(fā)送命令后,ssh通道自動關(guān)閉
(2)使用terminal發(fā)送命令后,ssh通道不會自動關(guān)閉
注意:獲取exec_command返回的數(shù)據(jù),可以一次性獲取全部
注意:獲取從terminal的返回數(shù)據(jù),只能通過recv指定接收的數(shù)據(jù)量,遇到數(shù)據(jù)量大的時候,可以采用循環(huán)接收的方式.同時加入超時的判斷,讓程序的邏輯更為完善,代碼如下:
當然,你可以加入結(jié)束符的控制,遇到接收的字符串中有特定的結(jié)束符,則跳出接收循環(huán)即可。
對交換機的控制,如果一個邏輯中包含了一個操作,則直接使用SSHClient控制即可;但事實上,對交換機的操作往往是需要執(zhí)行一系列的命令,如果還是使用SSHClient就會顯得力不從心,雖然SSHClient可以一次性發(fā)送多條命令,但同時發(fā)送命令會導致有些命令會執(zhí)行不成功。因此,使用terminal發(fā)送命令,更為適合,控制起來也會更方便。
文章來自公眾號:睿江云計算
睿江云官網(wǎng)鏈接:https://www.eflycloud.com/home?from=RJ0024
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。