FTP connections fail. They fail on first setup, they fail after months of working fine, and they fail in ways that give you cryptic error messages. This guide covers the most common FTP and SFTP connection errors you'll encounter on Mac and how to fix each one.
Connection timed out
You try to connect and nothing happens. After 30-60 seconds, you get a timeout error.
Common causes:
- A firewall is blocking the connection (your Mac's firewall, your router, or the server's firewall).
- You're using Active FTP mode when you need Passive mode. Active mode requires the server to connect back to your Mac, which most NAT routers and firewalls block.
- The server hostname or IP address is wrong.
- The server's FTP service isn't running.
Fixes:
- Switch to Passive FTP mode. This is the correct setting for almost all modern connections.
- Check your Mac's firewall: System Settings > Network > Firewall. Make sure your FTP app is allowed.
- Verify the hostname by pinging it in Terminal:
ping ftp.example.com - Try connecting with a different app (like Terminal's
sftpcommand) to rule out app-specific issues.
Connection refused
The connection is rejected immediately, no waiting.
Common causes:
- Wrong port. FTP uses port 21, SFTP uses port 22, Implicit FTPS uses port 990.
- The FTP/SFTP service isn't running on the server.
- The server's firewall is explicitly blocking your IP.
Fixes:
- Double-check the port number. This is the most common cause.
- Confirm with your server provider that FTP/SFTP is enabled.
- Ask if your IP needs to be whitelisted.
530 Login incorrect
You connect successfully but the login is rejected.
Common causes:
- Wrong username or password. Copy-paste sometimes adds invisible spaces or line breaks.
- The account exists but isn't enabled for FTP access (some hosting panels require enabling FTP separately).
- Case sensitivity. Some servers treat usernames as case-sensitive.
Fixes:
- Type the credentials manually instead of pasting.
- Log into your hosting control panel and verify the FTP account is active.
- Try connecting via Terminal to see the exact server response:
ftp ftp.example.com
425 Can't open data connection
You log in successfully but file listings or transfers fail with a 425 error.
Common causes:
- Active vs Passive mode mismatch. The server can't establish the data channel.
- For FTPS: TLS session reuse failures between control and data connections.
Fixes:
- Switch to Passive mode.
- For FTPS, try Explicit mode on port 21 instead of Implicit on port 990, or vice versa.
- Some servers require specific TLS versions. Try limiting to TLS 1.2 if available in your client settings.
SSL/TLS handshake failed
Specific to FTPS connections. The encryption negotiation fails.
Common causes:
- The server's SSL certificate has expired.
- You're connecting with plain FTP to a port that expects FTPS, or vice versa.
- TLS version mismatch. The server requires TLS 1.2 but your client is trying TLS 1.0.
- Self-signed certificate that your client doesn't trust.
Fixes:
- Make sure you selected FTPS (not plain FTP) in your connection settings.
- Try both Explicit and Implicit FTPS modes.
- If the server uses a self-signed certificate, check if your client has an option to accept it.
- Contact the server admin to verify the certificate is valid and TLS versions are configured correctly.
Host key verification failed (SFTP)
Specific to SFTP. Your Mac refuses to connect because the server's SSH key doesn't match what it expects.
Common causes:
- The server was reinstalled or its SSH keys were regenerated.
- You're connecting for the first time and strict host checking is enabled.
- Potential man-in-the-middle attack (rare, but this is what the warning is for).
Fixes:
- If you know the server was reinstalled, remove the old key:
ssh-keygen -R hostname - Reconnect and accept the new key when prompted.
- If you didn't expect a key change, verify with the server admin before accepting.
Permission denied
You connect and log in, but can't read files, write files, or access certain directories.
Common causes:
- Your FTP user doesn't have read/write permissions on the target directory.
- The directory ownership on the server doesn't match your FTP user.
- Chroot/jail restrictions prevent you from navigating outside your home directory.
Fixes:
- Contact the server admin to verify your account's permissions.
- Check that the remote path in your FTP client is correct and accessible by your user.
- On servers you control, verify directory permissions:
ls -la /path/to/directory
Mac-specific issues
A few things specific to macOS:
- macOS removed its built-in FTP server starting with High Sierra (10.13). If you need an FTP server on your Mac, you'll need third-party software.
- macOS updates can break SFTP. Major upgrades (especially Monterey) have been reported to break SFTP connectivity for apps like Cyberduck and Transmit. Restarting your Mac or resetting SSH configuration usually fixes it.
- Gatekeeper warnings may prevent newly downloaded FTP apps from opening. Right-click the app and select Open, or go to System Settings > Privacy & Security to allow it.