在win10的系統下,本來想要python3直接調用ansible庫進行遠端執行的,但是很可惜,ansible是基于linux系統的ssh服務進行遠端調用,不太相容windows。那麼下面來使用paramiko庫,直接手寫一個ssh遠端調用。
paramiko 遵循SSH2協定,支援以加密和認證的方式,進行遠端伺服器的連接配接,可以實作遠端檔案的上傳,下載下傳或通過ssh遠端執行指令。
項目位址:https://github.com/paramiko/paramiko
官方文檔:http://docs.paramiko.org/
pip3 install paramiko
安裝過程如下:
測試是否安裝成功,如下:
可以看到導入并沒有出錯,是以下面可以正常使用這個庫了。
在本次實驗中,最核心的功能就是遠端執行ssh指令,是以首先來實驗一下這個功能。
到遠端伺服器檢視上傳好的檔案,如下:
首先在遠端Centos7将file1.txt檔案拷貝一份為file2.txt,用于下載下傳該檔案。
執行下載下傳檔案功能如下:
上面我寫windows下的路徑都是直接寫了個全路徑,是為了友善了解,下面可以使用指令來設定這些路徑。
當時由于windows與linux擷取目前路徑的拼接方式不同,是以linux路徑我還是直接使用字元串寫遠端路徑的方式。
上面基本上已經将功能都完成了,下一步就可以将這些方法都封裝到一個工具類中。