跳转到主要内容

scp客户端,与paramiko配合使用。

项目描述

一个实现scp(安全复制)协议客户端部分的库。它设计为与paramiko(http://www.lag.net/paramiko/)一起使用。

使用paramiko

使用paramiko有很多方法。为了这些示例的目的,您需要获取一个经过身份验证的SSHClient对象

import paramiko

ssh_client = paramiko.SSHClient()
ssh_client.connect(hostname, username=username, key_filename=key_filename, password=password)

写入文件

scpclient.Write对象用于将文件写入scp服务器。它的必需参数是paramiko.SSHClient实例和远程目录名称。它有两个方法:send_file和send。send_file接受要发送的文件名,send接受类似文件的对象、远程文件名、模式和长度。您可以多次调用send和send_file。

示例

with closing(Write(ssh_client.get_transport(), '.')) as scp:
    scp.send_file('file.txt', True)
    scp.send_file('../../test.log', remote_filename='baz.log')

    s = StringIO('this is a test')
    scp.send(s, 'test', '0601', len(s.getvalue()))

写入目录

示例

with closing(WriteDir(ssh_client.get_transport(), 'subdir')) as scp:
    scp.send_dir('../../manuals', preserve_times=True, progress=progress)

读取文件

示例

with closing(ReadDir(ssh_client.get_transport(), '.')) as scp:
    scp.receive_dir('foo', preserve_times=True)

读取目录

示例

with closing(Read(ssh_client.get_transport(), '.')) as scp:
    scp.receive('file.txt')

变更日志

0.7 2010-10-27 Eric V. Smith

  • 移除修改RPM名称的漏洞(问题#10)。

  • 没有代码更改。

0.6 2016-10-02 Eric V. Smith

  • 修复问题#8,支持构建wheel。

  • 没有代码更改。

0.5 2014-04-27 Eric V. Smith

  • 修复问题#5,sdist中未包含所有文件。

  • 修复问题#6,将bdist RPM重命名为python-scpclient。

  • 没有代码更改。

0.4 2012-11-28 Eric V. Smith

  • 修复问题#2,缺少contextlib导入。感谢Olivier CARRERE。

0.3 2011-10-31 Eric V. Smith

  • 改进了文档,包括如何创建paramiko连接。

0.2 2011-10-31 Eric V. Smith

  • 删除了无用的测试。

  • 修复了最后时刻令人尴尬的打字错误,该错误破坏了代码。

  • 在README.txt中包含了简单的示例。需要做很多工作。

  • 禁止文件名包含“..”的文件。这是防止路径遍历的一种尝试。这种方法很简单,但它是合理的第一步,并且完成了这项工作。

0.1 2011-10-31 Eric V. Smith

  • 初始发布。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

scpclient-0.7.tar.gz (10.6 kB 查看哈希值)

上传时间 源代码

构建分布

scpclient-0.7-py2-none-any.whl (9.0 kB 查看哈希值)

上传时间 Python 2

由以下支持