您好,登錄后才能下訂單哦!
paramiko是用python語(yǔ)言寫(xiě)的一個(gè)模塊,遵循SSH2協(xié)議,支持以加密和認(rèn)證的方式,進(jìn)行遠(yuǎn)程服務(wù)器的連接。
由于使用的是python這樣的能夠跨平臺(tái)運(yùn)行的語(yǔ)言,所以所有python支持的平臺(tái),如Linux,
Solaris, BSD, MacOS X,
Windows等,paramiko都可以支持。因此,如果需要使用SSH從一個(gè)平臺(tái)連接到另外一個(gè)平臺(tái),進(jìn)行一系列的操作時(shí),paramiko是最佳工具之一。
此外,由于常見(jiàn)的交換機(jī)都支持ssh,那么使用paramiko控制交換機(jī)變成現(xiàn)實(shí)。
pip 安裝方式
pip install paramiko
如果沒(méi)有安裝pycrypto,則需要先安裝pycrypto庫(kù)
使用
paramiko提供了多種連接方式,在此我們使用ssh的方式連接交換機(jī)并發(fā)送命令以實(shí)現(xiàn)控制交換機(jī)的目的。
通常有兩種控制方式,使用SSHClient和使用terminal,這兩種的差別分別為:
(1)使用SSHClient發(fā)送命令后,ssh通道自動(dòng)關(guān)閉
(2)使用terminal發(fā)送命令后,ssh通道不會(huì)自動(dòng)關(guān)閉
注意:獲取exec_command返回的數(shù)據(jù),可以一次性獲取全部
注意:獲取從terminal的返回?cái)?shù)據(jù),只能通過(guò)recv指定接收的數(shù)據(jù)量,遇到數(shù)據(jù)量大的時(shí)候,可以采用循環(huán)接收的方式.同時(shí)加入超時(shí)的判斷,讓程序的邏輯更為完善,代碼如下:
當(dāng)然,你可以加入結(jié)束符的控制,遇到接收的字符串中有特定的結(jié)束符,則跳出接收循環(huán)即可。
對(duì)交換機(jī)的控制,如果一個(gè)邏輯中包含了一個(gè)操作,則直接使用SSHClient控制即可;但事實(shí)上,對(duì)交換機(jī)的操作往往是需要執(zhí)行一系列的命令,如果還是使用SSHClient就會(huì)顯得力不從心,雖然SSHClient可以一次性發(fā)送多條命令,但同時(shí)發(fā)送命令會(huì)導(dǎo)致有些命令會(huì)執(zhí)行不成功。因此,使用terminal發(fā)送命令,更為適合,控制起來(lái)也會(huì)更方便。
文章來(lái)自公眾號(hào):睿江云計(jì)算
睿江云官網(wǎng)鏈接:https://www.eflycloud.com/home?from=RJ0024
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。