SCP客户端,用于paramiko。
scpclient的Python项目详细描述
实现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和 多次发送文件。
示例:
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埃里克V.史密斯
- 固定问题8,支撑建筑车轮
- 没有代码更改。
0.5 2014年4月27日Eric V.Smith
- 已修复问题5,不是sdist中包含的所有文件。
- 修复了问题6,将bdist RPM重命名为python scpclient
- 没有代码更改。
0.4 2012年11月28日Eric V.Smith
- 已修复问题2,缺少ContextLib导入。谢谢奥利维尔·卡雷尔。
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
- 初次发布。