paramiko子產品,基于SSH用于連接配接遠端伺服器并執行相關操作。
基礎用法:
SSHClient 封裝 Transport
由此我們可以看出來,ssh執行指令時,我們可以使用sshclient transport兩種方式來實作
封裝transport:
用于連接配接遠端伺服器并執行上傳下載下傳
有此看出,如果隻做上傳下載下傳方式的話,我們隻能使用transport,其實無論是ssh,還是sftp,都是調用了transport,基于socket實作的
demo:
對于更多限制指令,需要在系統中設定:
位置:<code>/etc/sudoers</code>,代碼:
管理者為使用者在伺服器上建立賬号(将公鑰放置伺服器,或者使用使用者名密碼)
使用者登陸堡壘機,輸入堡壘機使用者名密碼,現實目前使用者管理的伺服器清單
使用者選擇伺服器,并自動登陸
執行操作并同時将使用者操作記錄
需要注意的是,如果想實作使用者登入後直接操作,需要配置下堡壘機使用者家目錄的<code>.bashrc</code>檔案:
将這兩行假如即可.
看下實作方式:
但此次我們會發現,沒有tab補全,跟我們真是在shell裡執行指令還是略有差距的,那麼來第二個.
在生産中,我們還需要更多的需求:
有日志記錄,我們可以把管理者的每一條記錄都記錄到資料庫中
tab補全時,記錄的中間會有空格之類的需要處理
我們來看下怎麼實作:
珍藏下吧:
其實堡壘機的難點是在資料庫的設計上