本文實例講述了Python基于sftp及rsa密匙實現遠程拷貝文件的方法。分享給大家供大家參考,具體如下:
如果兩臺服務器之間使用了RSA秘鑰免密碼登錄的方式,可以先查找出rsa秘鑰的對應目錄(如find / -name id_rsa 或者locate id_rsa),
接著通過Python中paramiko模塊可以這樣實現scp功能:
def scp_by_key(host_ip, host_port, remote_path, local_path, username, pkey_path): try: key=paramiko.RSAKey.from_private_key_file(pkey_path) t = paramiko.Transport((host_ip, host_port)) t.connect(username=username, pkey=key) sftp = paramiko.SFTPClient.from_transport(t) src = remote_path des = local_path sftp.get(src,des) t.close() except Exception as e: print e
我們可以這樣使用該方法:
用起來是不是很爽呢?不過前提是要有rsa密鑰...如果需要密碼,則只需將pkey參數換為password傳入即可:
t = paramiko.Transport((host_ip, host_port))t.connect(username=username, password='xxx')
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答