Guides for people who move files over FTP and SSH
Practical answers to the problems that show up when you work with real servers — written to be useful whichever client you use.
Basics
What the protocols are and how they differ — start here if FTP, FTPS and SFTP all sound like the same thing.
What Is FTP?
FTP explained without jargon — what the File Transfer Protocol is, why it uses two connections instead of one, what that means for firewalls and security, and when you should use something else.
FTP vs SFTP vs FTPS
The three protocols have confusingly similar names and almost nothing in common. What each one actually is, how they differ in ports, encryption and firewall behaviour, and which to choose.
Active vs passive FTP
You log in fine and then the folder never loads. That is the FTP data connection failing, and the fix is almost always passive mode. What the two modes do, and how to diagnose the difference.
How-to
Step-by-step answers to the things people actually need to do on a server from a Mac.
Connect to an FTP server
Connecting to FTP, FTPS and SFTP servers from macOS — why the Finder no longer works for uploads, what the Terminal can and cannot do, and how to set up a saved connection properly.
Finder FTP is read-only
macOS mounts FTP servers read-only and has done since OS X Lion. Here is why Apple removed write support, why sftp:// isn't a Finder scheme, and what the practical alternatives are.
SSH keys in an SFTP client
Your key logs you in from the Terminal but the app refuses it. The five causes, in the order worth checking — App Sandbox consent, the .pub mistake, key formats, server-side rejection, and keys that only ever worked through the agent.
Upload a website
Publishing a site over FTP or SFTP — finding the right web root, what to upload and what never to, file permissions that actually matter, and how to avoid a half-deployed site.
Folder sync over FTP
Folder synchronisation over FTP and SFTP — how comparison actually works, why timestamps lie, what mirror mode will delete, and how to exclude files with a .syncignore.
Edit remote files
How to edit a file on a server without the download-edit-upload dance — how watch mode works, why it beats a mounted volume, and the cases where you should still not do it.
Hidden files over FTP
Your FTP client has "show hidden files" switched on and .htaccess still is not there. The reason is in the FTP protocol itself — the LIST command does not return dotfiles unless you ask for them.
File transfer through a bastion
What changes when the thing crossing a jump host is a file transfer instead of a shell — why SFTP goes through cleanly, why FTP and FTPS cannot, and what to do when your host only offers FTP behind a bastion.
Guide
Reference material to come back to when something specific goes wrong.
FTP error codes
What every FTP reply code means in practice — 421, 425, 426, 530, 550, 553 and the rest — how to read the three digits, and what actually fixes each one.
Certificates & host keys
Encryption alone doesn't tell you who is on the other end. How FTPS certificates and SSH host keys work, what trust-on-first-use means, and what to do when a fingerprint changes.
Migrate from FileZilla
Where FileZilla stores sitemanager.xml on macOS, how its saved passwords actually work, and how to import your whole server list into a new client without retyping anything.
Background
Where all of this came from, and why it works the way it does.
Upstream — the native FTP, FTPS & SFTP client for macOS
A transfer queue you can pause, resume and reorder, folder synchronization with a dry-run preview, live remote editing and credentials in the macOS Keychain. Free to download, no subscription.