scp client, for use with paramiko.
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/).
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)
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.
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.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.