SFTP server with separate root directories for each user


License
Apache-2.0

Documentation

Exsftpd

Build Status

SFTP server which do not allow shell access and has a separate root directory for each user.

Installation

The package can be installed by adding exsftpd to your list of dependencies in mix.exs:

def deps do
  [
    {:exsftpd, "~> 0.7.0"}
  ]
end

Next add a configuration entry for :exsftpd, Exsftpd.Server:

config :exsftpd, Exsftpd.Server,
  port: 2220,
  #root dir for <someuser>: /tmp/users/files/<someuser>
  user_root_dir: "/tmp/users/files",
  #look for authorized_keys at /tmp/users/<username>/.ssh
  user_auth_dir: "/tmp/users",
  #Where to look for ssh host keys
  system_dir: "/tmp/ssh",
  event_handler: fn(event) -> IO.puts("Event: #{inspect event} ") end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/exsftpd.