一、傳輸單個文件到Linux服務器
import paramiko
transport = paramiko.Transport(('host',22))
transport.connect(username='root',password='123')
sftp = paramiko.SFTPClient.from_transport(transport)
sftp.put('D:\Pycharm\hadoop_spark\ssh_files\id_rsa','/usr/local/id_rsa')
transport.close()
#D:\Pycharm\hadoop_spark\ssh_files\id_rsa 本地路徑,(windows)
#/usr/local/id_rsa 遠端服務器路徑,(Linux)
#兩邊路徑必須都寫上文件名
二、傳輸整個目錄到Linux服務器
paramiko默認不支持傳輸目錄,我們需要借助os.walk,在Unix,Windows中有效。
os.walk() 方法用於通過在目錄樹種游走輸出在目錄中的文件名,向上或者向下。
實例:
import os
import paramiko
transport = paramiko.Transport(('host',22))
transport.connect(username='root',password='123')
sftp = paramiko.SFTPClient.from_transport(transport)
for path in dir_list:
for root, dirs, files in os.walk('D:/Pycharm/hadoop_spark/hadoop_config/'):
for i in files:
sftp.put('D:/Pycharm/hadoop_spark/hadoop_config/' + i,'/usr/local/' + i)
transport.close()
