【Python】Paramiko模块实现Linux服务器远程文件操作
ssh是一個協議,OpenSSH是其中一個開源實現,paramiko是Python的一個庫,實現了SSHv2協議(底層使用cryptography)。
有了Paramiko以后,我們就可以在Python代碼中直接使用SSH協議對遠程服務器執行操作,而不是通過ssh命令對遠程服務器進行操作。
由于paramiko屬于第三方庫,所以需要使用如下命令先行安裝
pip install paramiko
底層cryptography:加密解密模塊,cryptography 的目標是成為“人類易于使用的密碼學包cryptography for humans”,這個想法使你能夠創建簡單安全、易于使用的加密方案。需要先安裝:
pip install cryptography
如果已經安裝過,可以通過pip install --user -I cryptography
paramiko包含兩個核心組件:SSHClient和SFTPClient。
SSHClient的作用類似于Linux的ssh命令,是對SSH會話的封裝,該類封裝了傳輸(Transport),通道(Channel)及SFTPClient建立的方法(open_sftp),通常用于執行遠程命令。
SFTPClient的作用類似與Linux的sftp命令,是對SFTP客戶端的封裝,用以實現遠程文件操作,如文件上傳、下載、修改文件權限等操作。
# Paramiko中的幾個基礎名詞:
1、Channel:是一種類Socket,一種安全的SSH傳輸通道;
2、Transport:是一種加密的會話,使用時會同步創建了一個加密的Tunnels(通道),這個Tunnels叫做Channel;
3、Session:是client與Server保持連接的對象,用connect()/start_client()/start_server()開始會話。
SFTPCLient作為一個sftp的客戶端對象,根據ssh傳輸協議的sftp會話,實現遠程文件操作,如上傳、下載、權限、狀態
put(self, localpath, remotepath, callback=None, confirm=True) ? 上傳文件到服務器
get(self, remotepath, localpath, callback=None) ? ?下載服務器的文件
remove(self, path) ? 刪除服務器文件
rename(self, oldpath, newpath) ?重命名服務器上的文件
mkdir(self, path, mode=o777) ? ?在服務器創建文件夾
?
總結
以上是生活随笔為你收集整理的【Python】Paramiko模块实现Linux服务器远程文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android蓝牙设置名称流程,Andr
- 下一篇: mysql odbc.ini_ODBC连