Python通过SSH下载远程服务器文件
有些远程服务器只能通过SSH登录,不能通过Samba将文件下载到本地形,可以通过下面脚本批量下载指定文件夹里面所有文件到本地,下载的原理是模拟用户输入ls 和 cat两个指令,将cat读取到的信息保存本地文件
1.安装SSH登录三方库paramiko
使用pip install paramiko 安装
2.运行下载脚本
import paramiko,os,sys
input_dir = "/home/" #需要下载远程服务器的目标文件夹路径
output_dir = """E:\AndroidProject\save_file""" #要保存文件的路径
hostname = 'XXX.XXX.X.XXX' #服务器IP地址
username = 'XXXX' # 登录账号
password = 'XXXX' #登录密码
port = 22
def list_dir(root):
cmd = 'ls --file-type '+root
stdin, stdout, stderr = ssh.exec_command(cmd)
result = stdout.read()
return result.decode().split('\n')
def save_file(root,name):
try:
save_path = output_dir + root.split(input_dir)[-1]
if not os.path.exists(save_path):
os.makedirs(save_path)
save_