Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Simple SFTP server that allows all logins (anon sftp)

Project Description

NoAuthSFTP is an anonymous SFTP server that requires no password (or username) to connect to. Users will only be able to invoke sftp and navigate around the directory specified on the command line

NoAuthSFTP is not for internet facing use and is only intended as a ‘quick and dirty’ to get files off a machine on a secure network


  • ‘Quick and dirty’ starts up with minimal configuration
  • pseudo chroots to a directory (emulated in software, does not use chroot())
  • Supports multiple key types for server identication (eliptic curve, RSA)
  • Uses asyncio/asyncssh to allow multiple clients to connect at the same time without blocking each other

Use Cases

  • Move files between machines
  • Replace anon ftp
  • Serve up files while allowing clients to authenticate the server


It is recommended to install NoAuthSFTP to a virtual environment as follows:

$ python3.5 -m venv venv $ . venv/bin/activate # pip install noauthsftp

If you intend to use eliptic curve keys, additional dependeincies will need to be pulled in. These can be installed with the following comamnd:

$ pip install ‘asyncssh[bcrypt,libnacl]’

This will pull in all the required dependencies after which the server can be run by executing the following command

$ noauthsftp


NoAuthSFTP has a fairly comprehensive help command available by executing the following:

$ noauthsftp –help

In order to get noauthsftp running it requires a ssh host key, this is identical to a standard public/private key pair but used by the server instead (do not reuse it for standard ssh communications). To generate this keypair use the following command

$ ssh-keygen

you will then be prompted for a filename, select a filename such as ‘ssh_server_key’ and make note of this, The filename will be used with the ‘-k’ option to allow the ssh server to authenticate itself to the client.


0.4.0 2017-04-26

  • we now recomend installing via pip
  • remove ‘distribute’ as a dependency

0.3.0 2016-03-28

  • Fix bug on connection close where remote ip is unavailable

0.2.0 2016-03-28

  • Actually include src code with release

0.1.0 2016-08-15

  • Inital Release

Release History

This version
History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Hash SHA256 Hash Help Version File Type Upload Date
(7.7 kB) Copy SHA256 Hash SHA256
Source Apr 26, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting