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