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