python paramiko 传输下载文件

简介:

paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作。

下载安装:

pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto
pip3 install pycrypto
pip3 install paramiko

 使用:

1.使用账号密码上传下载文件

import paramiko

# 获取Transport实例
tran = paramiko.Transport(("192.168.37.128", 22))

# 连接SSH服务端
tran.connect(username="root", password="admin123")
# 获取SFTP实例
sftp = paramiko.SFTPClient.from_transport(tran)
# 设置上传的本地/远程文件路径
localpath = "./sky_data.py"
remotepath = "/bin/sky_data1111.py"
# 执行上传动作
sftp.put(localpath, remotepath)
# 执行下载动作
sftp.put(remotepath, localpath)
# 关闭链接
tran.close()

问题:

问题1:"IOError: Failure"

注意:这里的remotepath和localpath为:“文件所在目录 + '/' + 文件名” 完整的文件路径,不是只有文件的目录,要不然会出各种错误。

paramiko模块中的put还是get方法,将上面的目录改成所要上传下载文件的完整路径(注意:这里的路径包括文件名,要不然程序不知道要将文件存储在哪里,所以会出现各种错误),上面出现的各种问题就不见了

原文地址:https://www.cnblogs.com/shangwei/p/14874231.html