Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

This question already has an answer here:

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?

share|improve this question

marked as duplicate by Canadian Luke, RedGrittyBrick, and31415, Michael Kjörling, Tog Aug 14 '14 at 14:06

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

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? –  Michael Kjörling Aug 14 '14 at 9:42

5 Answers 5

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.

share|improve this answer

FTPS (FTP/SSL) is a name used to provide a number of ways that FTP software can perform secure file transfers. Each way involves the use of a SSL/TLS layer below the standard FTP protocol to encrypt the control and/or data channels.

Pros:

  • Widely known and used
  • The communication can be read and understood by the human
  • Provides services for server-to-server file transfer
  • SSL/TLS has good authentication mechanisms (X.509 certificate features)
  • FTP and SSL/TLS support is built into many internet communication frameworks.

Cons:

  • Doesn’t have a uniform directory listing format
  • Requires a secondary DATA channel, which makes it hard to use behind the firewalls
  • Doesn’t define a standard for file name character sets (encodings)
  • Not all FTP servers support SSL/TLS
  • Doesn’t have a standard way to get and change file and directory attributes

SFTP (SSH File Transfer Protocol) is a network protocol that provides file transfer and manipulation functionality over any reliable data stream. It is typically used with the SSH-2 protocol (TCP port 22) to provide secure file transfer, but is intended to be usable with other protocols as well.

Pros:

  • Has good standards background which strictly defines most (if not all) aspects of operations
  • Has only one connection (no need for DATA connection)
  • The connection is always secured
  • The directory listing is uniform and machine-readable
  • The protocol includes operations for permission and attribute manipulation, file locking and more functionality

Cons:

  • The communication is binary and can’t be logged “as is” for human reading
  • SSH keys are harder to manage and validate
  • The standards define certain things as optional or recommended, which leads to certain compatibility problems between different software titles from different vendors.
  • No server-to-server copy and recursive directory removal operations
  • No built-in SSH/SFTP support in VCL and .NET frameworks
share|improve this answer
18  
FTPS "Widely known and used"? Where? I don't think I've ever seen it used "in the wild". –  Michael Kjörling Aug 12 '14 at 9:31
11  
SSH keys are harder to manage and validate? Why is that? –  moopet Aug 12 '14 at 11:14
1  
FTPS is used when you have a server that needs to be accessed from personal devices (smartphones, PDAs etc.) or from some specific operating systems which have FTP support but don’t have SSH / SFTP clients. –  Vdub Aug 12 '14 at 15:17
    
5  
SSH keys are much easier to manage than SSL certificates IMHO. –  Andrew Aug 13 '14 at 14:45

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
share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

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