python使用Paramiko模塊實(shí)現(xiàn)遠(yuǎn)程文件拷貝
paramiko是用python寫的一個(gè)模塊,遵循SSH2協(xié)議,支持以加密和認(rèn)證的方式,進(jìn)行遠(yuǎn)程服務(wù)器的連接。利用該模塊,可以方便的進(jìn)行ssh連接和sftp協(xié)議進(jìn)行sftp文件傳輸以及遠(yuǎn)程命令執(zhí)行。
通過安裝包安裝:
wget http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.tar.gz wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz tar -zxvf pycrypto-2.6.tar.gz cd pycrypto-2.6/ python setup.py build && python setup.py install wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz tar xvzf paramiko-1.7.7.1.tar.gz cd paramiko-1.7.7.1/ python setup.py build && python setup.py install
yum安裝,簡單省事:
yum install python-paramiko -y
簡單使用:從遠(yuǎn)程服務(wù)器拷貝文件:
#coding=utf-8 import paramiko, os def remote_scp(type, host_ip, remote_path, local_path, username, password): ssh_port = 22 try: conn = paramiko.Transport((host_ip, ssh_port)) conn.connect(username=username, password=password) sftp = paramiko.SFTPClient.from_transport(conn) if type == 'remoteRead': if not local_path: fileName = os.path.split(remote_path) local_path = os.path.join('/tmp', fileName[1]) sftp.get(remote_path, local_path) if type == "remoteWrite": sftp.put(local_path, remote_path) conn.close() return True except Exception: return False
通過傳遞操作類型,主機(jī)ip,遠(yuǎn)程路徑和本地路徑,用戶名密碼即可實(shí)現(xiàn)文件的遠(yuǎn)程拷貝。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)MD5進(jìn)行文件去重的示例代碼
工作中偶爾會(huì)收到一大堆文件,名稱各不相同,分析文件的時(shí)候發(fā)現(xiàn)有不少重復(fù)的文件,導(dǎo)致工作效率低下,那么,這里就寫了一個(gè)python腳本實(shí)現(xiàn)文件去重功能,感興趣的就一起來了解一下2021-07-07tkinter高級(jí)布局之PanedWindow和notebook詳解
本文主要介紹了tkinter中的兩種布局控件,分別是可以動(dòng)態(tài)劃分子控件的PanedWindow,和提供了選項(xiàng)卡工具的notebook,感興趣的小伙伴可以學(xué)習(xí)一下2023-08-08Python3獲取電腦IP、主機(jī)名、Mac地址的方法示例
這篇文章主要介紹了Python3獲取電腦IP、主機(jī)名、Mac地址的方法,結(jié)合具體實(shí)例形式分析了Python3基于socket與uuid模塊針對(duì)電腦的IP、主機(jī)名、Mac地址等信息的讀取操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-04-04python統(tǒng)計(jì)文本文件內(nèi)單詞數(shù)量的方法
這篇文章主要介紹了python統(tǒng)計(jì)文本文件內(nèi)單詞數(shù)量的方法,涉及Python針對(duì)文本文件及字符串的相關(guān)操作技巧,需要的朋友可以參考下2015-05-05深度解讀Python如何實(shí)現(xiàn)dbscan算法
DBScan?是密度基于空間聚類,它是一種基于密度的聚類算法,其與其他聚類算法(如K-Means)不同的是,它不需要事先知道簇的數(shù)量。本文就來帶大家了解一下Python是如何實(shí)現(xiàn)dbscan算法,感興趣的可以了解一下2023-02-02Python OpenCV實(shí)現(xiàn)視頻分幀
這篇文章主要為大家詳細(xì)介紹了Python OpenCV實(shí)現(xiàn)視頻分幀,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06使用Python合并PDF文件并添加自定義目錄及頁腳的全過程
在處理文檔時(shí),我們經(jīng)常遇到需要合并多個(gè)PDF文件并添加目錄及頁腳的情況,本文將介紹如何使用Python,特別是PyPDF2和reportlab庫來實(shí)現(xiàn)這一功能我們將通過一個(gè)實(shí)用的示例來演示整個(gè)過程,需要的朋友可以參考下2024-03-03