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 (File Transfer Protocol) is the standard way to move files between a computer and a server. A plain-English definition, what FTP is used for, how its two connections work, ports 21 and 20, and why FTPS and SFTP replaced it.
FTP vs SFTP vs FTPS
SFTP runs over SSH on port 22; FTPS is FTP over TLS/SSL on 21 or 990. A clear comparison of SFTP vs FTPS vs FTP — security, ports, firewalls, speed, FTPES vs implicit FTPS — and which one to pick.
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
Complete 2026 guide to connect to an FTP, FTPS or SFTP server on macOS. Learn how to use Finder (read-only), Terminal commands (sftp and curl), or a native client.
Connect to an SFTP server
Connect to an SFTP server from macOS with the built-in Terminal command or a graphical client — ports, SSH keys, ~/.ssh/config aliases, the commands you need, and how to fix "Permission denied" and "Host key verification failed".
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.
S3, B2 & R2 on a Mac
How to browse, upload and download files in Amazon S3, Backblaze B2, Cloudflare R2, Wasabi or MinIO buckets from macOS — the endpoints to use, the AWS CLI commands, and what a bucket can't do that a server can.
Auto-upload on save
Work in a local folder and have every saved file land on the FTP, SFTP or S3 server by itself. The options on a Mac — editor extensions, IDE deployment, fswatch scripts, a client with auto-upload — and the traps of each.
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, SFTP & S3 client for macOS
A transfer queue you can pause, resume and reorder, folder synchronization with a dry-run preview, auto-upload on save, S3 buckets as folders and credentials in the macOS Keychain. Free to download, SSH keys included, no subscription.