26

I know that explicit "negotiated" FTPS is preferred, because it still uses the standard port 21 with that method but in regards to "implicit" non-negotiated FTPS using a standard port of 990 vs. port 22 (which I have seen some people describe), why is there this difference in a "standard" for the non-negotiated port number?

Note: I also noticed that a FileZilla server won't work properly (when connecting from a FileZilla client) if I configure it to use anything other than the default of port 990.

1
  • As a sidenote, I discovered a freeware called "NULL Ftp Server" that has a real nice separation of these concepts. I highly recommend downloading it to anyone who really wants to understand this.
    – djangofan
    Oct 21, 2009 at 17:28

4 Answers 4

41

SFTP (SSH File Transfer Protocol) is not the same as FTPS (FTP-SSL).

SFTP is intimately related to SSH, and has no relation, except in purpose and name, with FTP.

Contrast with FTPS, which is simply the FTP protocol with SSL.

The main difference is that SFTP only uses one stream, whereas FTPS, like FTP, uses at least two: a control stream, where the commands are issued, and another one for each data transfer.

4
  • are you suggesting sftp uses port 22 in a single channel? i find it interesting that explicit ftps defaults to data on 989 and control on port 990 in the same way ftp uses 20 and 21.
    – djangofan
    Aug 5, 2009 at 23:03
  • 23
    I'm not suggesting it, I'm stating it explicitly.
    – niXar
    Aug 5, 2009 at 23:32
  • Does FileZilla support SFTP or only FTPS? May 8, 2019 at 16:39
  • Is it better to use FTPS or SFTP? If you use FTPS, should it be over port 990 or 21? Apr 4, 2020 at 3:43
9

I think there's a glitch in the question itself:

  • SFTP is a subsystem of SSH, and SSH by default listens on port 22
  • FTPS by default runs on port 990, but that's not related to SFTP: in fact it is FTP over SSL

These are two distinct and completely different protocols.

SFTP (SSH File Transfer Protocol) only needs port 22 and no other port, therefore is very firewall friendly, and highly secure thanks to the encryption layer provided by the SSH connection.

FTPS is highly secure thanks to the encapsulation within a SSL channel, but it requires quite a few open ports to operate (990 for the control channel, 989 for the data channel, and a whole bunch of other ports if you need passive connections) and is therefore much less firewall friendly. But - in general - it tends to be a bit faster than SFTP.

1

See also the wikipedia article on the subject: http://en.wikipedia.org/wiki/Ftps, which links to the article on SFTP.

-1

SFTP port recommendations really vary based on the vendor. 22, 1022, etc I have see a bunch of obscure ports...Contact your vendors.

1
  • 3
    SFTP runs on top of SSH, which - by convention - uses the well known port of 22. The well known port, however, is only a convention - there is no way (and indeed no point) in preventing the server from listening on a different port. (i.e. you can run the server on port 63251 and it would still work, as long as the clients are connecting to that port) Jul 23, 2011 at 7:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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