Metadata-Version: 2.0
Name: sftpserver
Version: 0.3
Summary: sftpserver - a simple single-threaded sftp server
Home-page: http://github.com/rspivak/sftpserver
Author: Ruslan Spivak
Author-email: ruslan.spivak@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: File Transfer Protocol (FTP)
Classifier: Operating System :: Unix
Requires-Dist: paramiko
Requires-Dist: setuptools (>=0.7)
Provides-Extra: test

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


Generating a test private key::

    $ openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout /tmp/test_rsa.key

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']


