Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to know exactly what the difference is between the following protocols: FTPS, SFTP, and SCP. For instance Unix has an scp tool, FileZilla offers FTP and SFTP, whereas JetBrains PhpStorm offers distinct SFTP and FTPS protocols.

Thanks for the clarification.

share|improve this question
up vote 31 down vote accepted

FTPS is FTP using the SSL protocol for encryption. This is different from the SCP/SFTP family of protocols which use SSH as their transport tunnel. You will usually use the same client programs for SCP and SFTP (WinSCP for instance; SFTP is an upgraded version of SCP), whereas you usually use a web browser or web Download manager (like Filezilla) for FTPS. FTPS is web-based, whereas SFTP is based on secure shell protocols common on *NIX systems.

This article describes the differences nicely: http://www.codeguru.com/csharp/.net/net_general/internet/article.php/c14329/FTPS-vs-SFTP-What-to-Choose.htm

Edit: To expound as requested:

FTP is an Internet protocol that goes back to 1971 (with a number of updates over the years). It is primarily focused on content distribution and in the case of FTPS, uses SSL to provide protection from eavesdropping and illicit modification. FTP authentication requires SSL, to protect credentials in transit.

Most browsers require an external plugin to utilize FTPS, in part because it is no longer a commonly used protocol. When it was popular, web browsers were almost exclusively HTTP only, and everyone used a separate FTP client. At the time FTP/FTPS made the most sense, HTTP was not capable of handling file downloads well. It wasn't until HTTP\1.1 was published in 1997 (and updated in 1999) that HTTP could properly handle binary streams.

It is notable that HTTP and FTP use almost identical semantics and syntax, and even use the same well known return codes (200, 301, 403, 404, 500, etc). FTP is somewhat older (HTTP was standardized in 1989 after TCP\IP became dominant). The significant similarities between the two protocols indicate a shared lineage, or at least a set of shared conventions. I think that is more than sufficient reason to call FTP "Web-Based", alongside other core application layer protocols like HTTP, SMTP, and DNS (though DNS uses a binary layout, not Text like HTTP/FTP/SMTP).

The SSH family is a set of protocols focused on server administration and remote access to the servers processing capability, rather than simple content distribution. It allows privileged users of a system to connect to a shell to perform work on the server itself. SCP and SFTP were developed to support the many file management tasks related to that work. Imagine you need to install an update to your Apache instance on a remote server. you ssh in, use scp\sftp to upload the update package, and then execute it to install. Quite a different work flow than you can achieve with FTPS.

I hope that helps clarify.

share|improve this answer
2  
The first two and half sentences in your answer are good but could you please show me a browser which supports FTPS (without a plug-in)? What do you mean by the statement "FTPS is web based"? What does it have in common with the web? Theoretically it could be used as a "transfer" protocol besides the common HTTP/HTTPS but you can find many protocols which could be used for this purpose. – pabouk Nov 20 '13 at 10:50

SCP is the file transfer tool from SSH. It requires SSH on both client and server. It is not interactive.

SFTP is another file transfer tool that can be used with SSH (so it again may require SSH on both client and server) or with any other compatible secure connection tool, since it is intended to be independent of SSH. It is interactive like the old plain FTP. Note that it is not FTP over SSH, but a new protocol.

FTPS is plain old FTP over SSL.

share|improve this answer

SCP beeing an ssh tool allows server-side copy/move operations, while sftp requires traffic to circulate through client in such tasks. At the other hand sftp operations could be paused and resumed.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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