天天看點

paramiko 堡壘機用paramiko寫堡壘機paramiko堡壘機

paramiko子產品,基于SSH用于連接配接遠端伺服器并執行相關操作。

基礎用法:

SSHClient 封裝 Transport

由此我們可以看出來,ssh執行指令時,我們可以使用sshclient transport兩種方式來實作

封裝transport:

用于連接配接遠端伺服器并執行上傳下載下傳

有此看出,如果隻做上傳下載下傳方式的話,我們隻能使用transport,其實無論是ssh,還是sftp,都是調用了transport,基于socket實作的

demo:

對于更多限制指令,需要在系統中設定:

位置:<code>/etc/sudoers</code>,代碼:

管理者為使用者在伺服器上建立賬号(将公鑰放置伺服器,或者使用使用者名密碼)

使用者登陸堡壘機,輸入堡壘機使用者名密碼,現實目前使用者管理的伺服器清單

使用者選擇伺服器,并自動登陸

執行操作并同時将使用者操作記錄

需要注意的是,如果想實作使用者登入後直接操作,需要配置下堡壘機使用者家目錄的<code>.bashrc</code>檔案:

将這兩行假如即可.

看下實作方式:

但此次我們會發現,沒有tab補全,跟我們真是在shell裡執行指令還是略有差距的,那麼來第二個.

在生産中,我們還需要更多的需求:

有日志記錄,我們可以把管理者的每一條記錄都記錄到資料庫中

tab補全時,記錄的中間會有空格之類的需要處理

我們來看下怎麼實作:

珍藏下吧:

其實堡壘機的難點是在資料庫的設計上