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:
- It encrypts everything sent between you and the server, so nobody in between can read your password or your files.
- It proves the server is the right one, with its host key (see Host keys), so nobody can pretend to be it.
- It checks who you are, with a password or an SSH key (see Passwords and keys).
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.
FTPS is FTP with the same encryption your browser uses for websites (TLS). For an FTP site, choose its encryption under File protocol:
| Choice | What it does |
|---|---|
| Use explicit FTP over TLS if available | Encrypts when the server can, and falls back to plain FTP when it cannot. The default. |
| Require explicit FTP over TLS | Encrypts, or does not connect at all. The safe choice when you know the server supports it. |
| Require implicit FTP over TLS | An 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?
- SFTP, if the server has SSH. Most do.
- FTPS (explicit, required), if the server only offers FTP with encryption.
- 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.