scp client, for use with paramiko.
Project Description
A library that implements the client side of the scp (Secure Copy) protocol. It is designed to be used with paramiko (http://www.lag.net/paramiko/).
Using paramiko
There are many ways to use paramiko. For the purposes of these examples, you want to obtain an authenticated SSHClient object:
import paramiko ssh_client = paramiko.SSHClient() ssh_client.connect(hostname, username=username, key_filename=key_filename, password=password)
Writing files
The scpclient.Write object is used to write files to an scp server. Its required parameters are a paramiko.SSHClient instance and a remote directory name. It has 2 methods: send_file and send. send_file takes a filename to send, send takes a file-like object, a remote filename, a mode, and a length. You may call send and send_file multiple times.
Example:
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()))
Writing directories
Example:
with closing(WriteDir(ssh_client.get_transport(), 'subdir')) as scp: scp.send_dir('../../manuals', preserve_times=True, progress=progress)
Reading files
Example:
with closing(ReadDir(ssh_client.get_transport(), '.')) as scp: scp.receive_dir('foo', preserve_times=True)
Reading directories
Example:
with closing(Read(ssh_client.get_transport(), '.')) as scp: scp.receive('file.txt')
Change log
0.7 2010-10-27 Eric V. Smith
- Remove hack for changing the RPM name (issue #10).
- No code changes.
0.6 2016-10-02 Eric V. Smith
- Fixed issue #8, Support building wheels.
- No code changes.
0.5 2014-04-27 Eric V. Smith
- Fixed issue #5, Not all files included in sdist.
- Fixed issue #6, Rename bdist RPM to python-scpclient.
- No code changes.
0.4 2012-11-28 Eric V. Smith
- Fixed issue #2, Missing contextlib import. Thanks Olivier CARRERE.
0.3 2011-10-31 Eric V. Smith
- Improved documentation, including how to create a paramiko connection.
0.2 2011-10-31 Eric V. Smith
- Removed useless tests.
- Fixed embarassing last minute typo which broke the code.
- Included trivial examples in README.txt. Needs much work.
- Forbid files that contain ‘..’ in the filename. This is an attempt to prevent path traversal. This approach is simplistic, but it’s a reasonable first step and gets the job done.
0.1 2011-10-31 Eric V. Smith
- Initial release.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size & hash SHA256 hash help | File type | Python version | Upload date |
---|---|---|---|
scpclient-0.7-py2-none-any.whl (9.0 kB) Copy SHA256 hash SHA256 | Wheel | py2 | Oct 27, 2016 |
scpclient-0.7.tar.gz (10.6 kB) Copy SHA256 hash SHA256 | Source | None | Oct 27, 2016 |