SFTP As a service
SFTP might not be the new shiny technology but it’s awesome, rock solid and has prooven itself to be a battle tested solution you can rely on. In this post we’re exploring how to do SFTP as a service both from a server and client point of view.
SFTP client
The SFTP client category is split in 3 categories, CLI clients, desktop clients and web clients. As a CLI application, the builtin sftp
tool is awesome and is likely already installed on your machine:
$ sftp username@example.com
Connected to example.com
sftp> ls -lah /home/
drwxr-xr-x ? 0 0 4.0K Jun 19 02:46 /home/.
drwxr-xr-x ? 0 0 4.0K Jun 5 18:10 /home/..
drwxr-xr-x ? 1001 1001 4.0K Jun 24 02:23 /home/foo
drwxr-xr-x ? 1001 1001 4.0K Jun 24 02:23 /home/bar
When it comes to desktop client, you’re probably already familiar with Filezilla which is probably the most popular choice. If you’re a window user, honorable mention to WinSCP and you can find some other serious contender like Cyberduck which we like a lot:
If you’re after a web application, Filestash is a simple as it gets for your users:
SFTP Server as a service
Depending on your use case and application, we’ve gathered a few good options:
OpenSSH
OpenSSH is by far the most popular and widely available implementation of SFTP. As far as SFTP as a service is concerned, you can get started in under 2 minutes by creating a VM from your favorite cloud vendor:
pro:
- widely available
- widely used
- integration with PAM
cons:
- limited scope and functionality compared to other servers like proFTPd
- you need to handle things like backup and ugprades
Rsync.net
The guys from rsync, have built their own cloud to provide standard unix tool a home so that you don’t have to handle anything maintenance related on your own but leverage the experience of a team of professional
pro:
- as standard as it gets
- professionally hosted
cons:
- still searching
Amazon
Amazon now has an SFTP bridge to their popular S3 service.
pro:
- supported by Amazon
cons:
- the feature isn’t builtin with S3, you need to pay extra to use it.
- the implementation doesn’t comply with the entire spec. Some client will have issues with it
- closed source making fixing the bugs in their implementation impossible.
CouchDrop
When you’re not starting from scratch and have data living in different place, couchdrop provide an SFTP layer on top of many external cloud providers like Dropbox, Google Drive, Box, Backblaze, S3, and many others