Did you know that your Mac has a built-in FTP & FTPS client? You don’t need to download any additional software or apps to connect to FTP sites from Mac OS X, instead you can connect to remote servers directly from your desktop by using an excellent and little known feature. If you’ve never used the Mac FTP tools before, you will find them incredibly simple and quite familiar, because the connection utilities and server browsing are much like navigating through the normal Mac desktop. Let’s get started.
FTP from your Mac
If you want to test this by connecting to a real server, use ftp://ftp.mozilla.org and login as a Guest
From your Mac desktop hit Command+K to pull up the “Connect to Server” window (alternatively, you can access this from the “Go” menu)
Enter the address of the ftp server in the following format: ftp://ftp.domain.com
Optional: If you want to add a bookmark to ‘Favorite Servers’ for repeated connections, click on the + icon next to the “Server Address” field
Click on “Connect” and wait to connect to the remote server
Enter the FTP username and password, or connect as “Guest” if the server allows guest connections and click on “Connect” again
Here is what starting a standard FTP connection will look like:
If you want to use a secured connection instead you just need to make a tiny modification, which we’ll discuss next.
Using FTPS for Secured Connections
If you want to connect to secured FTPS server, all you need to do is prefix the domain with ftps:// rather than ftp://. This is dependent on the remote server having SSL support and acceping FTPS connections, which most servers do. The minor difference is pointed out in the screenshot below:
FTPS vs SFTP
Something to keep in mind is that FTPS and SFTP are two different protocols; FTPS is FTP with a secure SSL layer, while SFTP uses SSH (yes, the same protocol that SSH servers are enabled by with Remote Login in OS X). FTPS connections are supported directly in OS X’s built-in FTP functionality, while SFTP through SSH is not accessible through the same “Connect to Server” menu. Nonetheless, OS X does include a native SFTP client as well, and it’s accessible from the Terminal by typing “sftp username@host” at the command line. Because SFTP and SSH in general are generally command line based, that’s really a topic for another article, so we’ll keep things simple here and stick with FTP and FTPS.
Navigating & Transferring Files with FTP & FTPS
Once you are connected to the FTP server, you can browse the remote server like any other local folder on your Mac, because the server is treated just like a normal file system window in the Finder.
Copying files to the remote server, or downloading them to the Mac, is done easily with simple and familiar drag and drop. Navigate to the file or folder you want to copy, then just drag and drop it as if you were copying or moving any other file, and the items will being to transfer to/from the FTP server to the Mac, or vice versa.
By default the window will show as a minified Finder window, but you can expand the window to your familiar Mac OS X Finder style by pulling down the “View” menu and choosing “Show Toolbar”. The main benefit to expanding the window is that you get the forward and back arrow navigation buttons, in addition to sorting options to browse through the FTP server by icon, name, date, lists, and the search functions.
The FTP features in Mac OS X have been around since the earliest days of OS X, and they’re still around in Mavericks, Mountain Lion, Snow Leopard, you name it, it’s supported. While incredibly useful, they are obviously not as developed as third party FTP clients like Transmit or Cyberduck, but if you’re in a bind and just need to quickly connect to a remote FTP to transfer some files back or forth, it’s more than adequate and it does not require downloading anything additional. If you need more advanced features, both of the aforementioned apps are fantastic and integrate well with other apps.
If you were wondering, I have my titlebars set to display full directory paths which is why you see the path on the remote server in the second screenshot.