50

Trying to set up a system for my 4 remote employees to transfer files. It has to be secure. Is SFTP better than FTPS? What is the difference?

  • 1
    The answers below should be enough to tell you the difference. I'd just like to note that historically, SSL (FTPS) has had more security bugs and the seriousness of the bugs has been more severe than SSH (SFTP). Part of this is that SSL was created for the browser and had a tendency to be pressured by business concerns and time-to-market while SSH was created by unix people to log it to their machines remotely and had a tendency to be pressured by security concerns (if you can break SSH you basically have control of the entire machine rather than just the web server/browser). – slebetman Aug 12 '14 at 7:03
  • Why not scp? sshfs? – emory Aug 13 '14 at 2:31
  • @emory sshfs because it's a very specific implementation with very specific constraints on what systems it can work on (particularly, it needs FUSE), unlike all the others which are protocols which can be implemented on most any platform? – a CVn Aug 14 '14 at 9:42
68

Two completely different protocols.

FTPS is FTP with SSL for security. It uses a control channel and opens new connections for the data transfer. As it uses SSL , it requires a certificate.

SFTP (SSH File Transfer Protocol / Secure File Transfer Protocol) was designed as an extension of SSH to provide file transfer capability, so it usually uses only the SSH port for both data and control.

In most SSH server installations you will have SFTP support, but FTPS would need an aditional configuration of a supported FTP server.

| improve this answer | |
10

sftp is a FTP like protocol that operates over SSH.

  • If you are running a linux/bsd/OSX based server, then you almost always already have a perfectly functional sftp server already.
  • On the Windows side you basically are looking at Filezilla, WinSCP, or Putty as a client.

ftps is the original ftp protocol with TLS enhancements.

  • ftps works very badly through a NAT firewall
| improve this answer | |
1

FTPS = FTP over SSL. It come in two flavours:

  1. Explicit FTPS - Uses TCP port 21 as per FTP - some clients, like Filezilla, require you to specify the proctocol as FTPES (e.g. ftpes://ftp.xxxxx.com)
  2. Implicit FTP - The connection will be encrypted if both sides can handle it (port 990), but if not, it will fall back to unecrypted FTP (TCP port 21)

SFTP = FTP over SSH - Uses TCP port 22.

In reality, you'll find most clients will handle all protocols... providing you know what you are supposed to be using, which is usually where my clients fall down.

Further information.

| improve this answer | |
-1

Your use case is such that you may want to consider a commercial solution for file collaboration or managed file transfer (offered both as services or on-prem software) and not necessarily get involved with setting up a file sharing server (virtual or physical) of your own.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.