A simple single-threaded SFTP server
Python
Latest commit 29306e8 Sep 5, 2016 @rspivak committed on GitHub Merge pull request #10 from tonioo/master
List available auth mechanisms.
Permalink
Failed to load latest commit information.
src/sftpserver List available auth mechanisms. Sep 5, 2016
.gitignore Ignore pyc files Dec 12, 2011
MANIFEST.in Add manifest file Dec 12, 2011
README.rst Typo Dec 12, 2011
setup.py Distribute is deprecated since 2013-06-02 Mar 6, 2016

README.rst

sftpserver

sftpserver is a simple single-threaded SFTP server based on Paramiko's SFTPServer.

I needed a simple server that could be used as a stub for testing Python SFTP clients so I whipped out one.

Installation

Using pip:

$ [sudo] pip install sftpserver

Examples

$ sftpserver
Usage: sftpserver [options]
-k/--keyfile should be specified


Options:
  -h, --help            show this help message and exit
  --host=HOST           listen on HOST [default: localhost]
  -p PORT, --port=PORT  listen on PORT [default: 3373]
  -l LEVEL, --level=LEVEL
                        Debug level: WARNING, INFO, DEBUG [default: INFO]
  -k FILE, --keyfile=FILE
                        Path to private key, for example /tmp/test_rsa.key

$ sftpserver -k /tmp/test_rsa.key -l DEBUG

Connecting with a Python client to our server:

>>> import paramiko
>>> pkey = paramiko.RSAKey.from_private_key_file('/tmp/test_rsa.key')
>>> transport = paramiko.Transport(('localhost', 3373))
>>> transport.connect(username='admin', password='admin', pkey=pkey)
>>> sftp = paramiko.SFTPClient.from_transport(transport)
>>> sftp.listdir('.')
['loop.py', 'stub_sftp.py']