跳转至

4. 下载Linux服务器文件到本地

1. 疑问

# 能否上传或者下载文件夹呢???

1. 代码

import paramiko

# 创建一个ssh模块
ssh = paramiko.SSHClient()

# 设置连接方式
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接远程主机 ip地址 ,端口号,用户名,密码(在远程你主机真实存在的)
ssh.connect("10.0.8.8", 22, "root", "123456")

# 标准输入文件、标准输出文件、标准错误文件
stdin, stdout, stderr = ssh.exec_command("ls -l /root")

print(stdout)
print(stdout.read().decode('utf8'))

# 传递文件
sftp = ssh.open_sftp()

# # 1.本地文件传入到服务器
# sftp.put('D:\原电脑文件\Linux每日学习\md文件\27.python相关\python使用ssh连接Linux服务器\1.txt', '/root/1.txt')
sftp.put('./1.txt', '/root/1.txt')
# 测试服务端存在此文件时,是否能上传成功!
# 已测试,能上传成功!!!

print("上传成功!")
# sftp.put('本地文件路径', '放置远程主机文件的路径')
#
# 标准输入文件、标准输出文件、标准错误文件

# stdin, stdout, stderr = ssh.exec_command("ls -l /root")
#
# print(stdout)
# print(stdout.read().decode('utf8'))

# # 2.服务器文件下载到本地
# sftp.get('远程主机文件的路径', '放置本地文件路径')
sftp.get('/root/wgcloud-v3.3.5.tar.gz', './wgcloud-v3.3.5.tar.gz')

# 文件过大时,下载太慢!
# 能否添加计时功能?
# 能否添加一个进度条功能?

print("下载成功!!!")

# 释放资源
ssh.close()

最后更新: 2022-02-18 08:36:36