SSH, SFTP, SCP and FTP

To copy files to or from a server, both sides must speak the same protocol: an agreed way of talking. ShuttleSCP speaks the common ones. This page explains what they are and which one to choose. In the Login dialog this is the File protocol.

SSH: the secure connection underneath

SSH (Secure Shell) is how most servers are reached today, mostly Linux and macOS ones, but Windows servers too. It does three things:

SSH usually listens on port 22. A port is like an apartment number at the server's address: the server can offer several services, each on its own port.

SFTP: copying files over SSH

SFTP (SSH File Transfer Protocol) runs inside an SSH connection. It lists folders, copies, renames and deletes files, and can continue a copy that was interrupted. If your server has SSH, choose SFTP. It is safe and widely available, and it is what ShuttleSCP does best.

An SFTP-only account (common with web hosts) may copy files but not run commands. ShuttleSCP works with those too; only a few extras, such as having the server compute checksums, are then not available.

SCP: the older way over SSH

SCP (Secure Copy) is the older way of copying files over SSH, known from the scp command. It is just as secure, but can do less (no folder listings, no resuming). For an SCP site, ShuttleSCP makes the same SSH connection and copies with SFTP, which nearly every SSH server offers alongside SCP. You do not need to choose between them: SFTP is the better choice whenever both work.

FTP and FTPS

FTP (File Transfer Protocol) is much older than SSH, and still offered by many web hosts and storage boxes. It usually listens on port 21.

Plain FTP is not encrypted. Your password and files cross the network as they are, readable by anyone in between. Use it only on a network you trust, or when the server offers nothing else.

FTPS is FTP with the same encryption your browser uses for websites (TLS). For an FTP site, choose its encryption under File protocol:

ChoiceWhat it does
Use explicit FTP over TLS if availableEncrypts when the server can, and falls back to plain FTP when it cannot. The default.
Require explicit FTP over TLSEncrypts, or does not connect at all. The safe choice when you know the server supports it.
Require implicit FTP over TLSAn older form of FTPS, usually on port 990.
Only use plain FTP (insecure)Never encrypts.

Passive mode (on by default) lets FTP work through home routers and firewalls. Turn it off only if your server's instructions say so.

Which one should I choose?

  1. SFTP, if the server has SSH. Most do.
  2. FTPS (explicit, required), if the server only offers FTP with encryption.
  3. Plain FTP only as a last resort.

Your host's control panel or welcome email usually says which one it offers, with the host name, port and user name to use.