How to Install FTP on MacOS Mojave & High Sierra

Aug 7, 2018 - 8 Comments

Get and install FTP in Mac OS

Mac command line users may have noticed that FTP is missing from the latest versions of MacOS system software, but despite ftp not being included in newer versions of system software by default, you can still install ftp on Mac OS if you need to use an ftp client or run an ftpd server for whatever reason.

For some quick background, modern versions of Mac OS pulled ftp to instead emphasize SFTP usage. Likewise, telnet was removed in favor of ssh. These decisions were probably made to favor the more secure encrypted protocols of SFTP (and ssh), but nonetheless some users may still need to regularly use the older ftp transfer protocol, even if it’s not particularly secure. Accordingly, certain Mac users may need to install and run ftp as a client, or ftpd as a server, which is who this tutorial is geared for. If you don’t need ftp, there’s no reason to install it.

How to Install FTP on MacOS

If you have not already installed Homebrew on the Mac, you will need to do so before beginning with this particular approach.

You have two options, one is to install inetutils (which also includes some other useful packages), or you can install tnftp. Either is achievable through Homebrew:

Installing ftp in MacOS with inetutils

The inetutils package includes ftp, the ftp server, along with telnet and telnet server, and the server and clients of rsh, rlogin, tfp, and more. If you want ftp, you very well may want this full suite, in which case installing inetutils through Homebrew is as simple as issuing the following brew command:

brew install inetutils

Once Homebrew completes installing the inetutils package, you can run the regular ftp command as usual, for example you can connect to the gnu.org ftp server to verify that all is working as expected:

ftp anonymous@ftp.gnu.org

One of the obvious perks to installing ftp and ftpd server with inetutils is you get other helpful network utilities, so you won’t need to manually install telnet on the Mac if you need that, it will just come in the same package together.

Installing ftp through tnftp

To install only an ftp client, you can install tnftp on the Mac. With homebrew you can accomplish this with the following brew command:

brew install tnftp

Additionally, if you want the tnftpd server you can use the following command:

brew install tnftpd

Whether you want to install the full inetutils package, or tnftp alone, is entirely up to you and your specific needs and requirements.

FTP was removed in macOS High Sierra and macOS Mojave, but ftp and ftp server do remain in older versions of Mac OS and Mac OS X system software, even if the ftp server has to be manually activated with launchctl. In some older versions of Mac OS, you can even connect with ftp from the Finder however. Meanwhile, newer versions of Mac OS include native options to use SSH & SFTP server for remote logins

Alternatively, get ftp by compiling inetutils

Finally, another option is to compile inetutils from source if you prefer that approach, which you can get here from gnu.org. You’ll need the Mac OS command line tools installed, then unpack the tarball, run configure, make and make install:

tar xvzf inetutils-1.9.4.tar.gz
cd inetutils-1.9.4
./configure
make
sudo make install

And then you’re good to go with ftp, telnet, and the other network tools, all by compiling them from scratch.

If you have another solution to getting FTP and an FTP server on a Mac (and no, not SFTP which is different and already included), share with us in the comments below!

Enjoy this tip? Subscribe to the OSXDaily newsletter to get more of our great Apple tips, tricks, and important news delivered to your inbox! Enter your email address below:

Related articles:

Posted by: Paul Horowitz in Command Line, Mac OS X, Tips & Tricks

8 Comments

» Comments RSS Feed

  1. Frank says:

    If you need to connect to ftp servers, I think an easier option for most people is to use a standard FTP app on the Mac. A lot of FTP apps for Mac exist, including:

    – Cyberduck

    – Transmit

    – Filezilla

    The command line ‘ftp’ client is useful too, but if you’re not a command line user it makes ftp connections more challenging than they need to be simply to connect to.

    It’s also probably notable that installing ftp at the command line also installs the ftp server.

    I personally use SFTP with regularity, but a lot of web hosts and other platforms are removing SFTP access too, favoring git and other version controlling tools.

  2. Valdo says:

    Hmmmm,
    I dont understand the point of this article.
    High Sierra is supporting FTP at least in read only mode.
    After the described instalation it will be able also to write data on FTP server?

    • nlmo says:

      It is OK, if you do not understand the point of ftp then you don’t need ftp ;) I think the same thing about Adobe software products … ha ha! OK a bad joke, maybe.

      Try running ‘ftp’ at the command line, without ftp installed it will not run. I think that unless you need ftp server, you can simply use the ftp clients like Transmit or Cyberduck, no reason for command line for most Mac users.

  3. Mark B says:

    /rantmode on I’m sorry but this is just sad. What’s next, no terminal? Either MacOS is Unix or it’s not. It isn’t about the fact that other GUI FTP apps do it better, it’s about expecting certain tools out of the box to be there. Coming next, no ability to even install FTP because it’s not 64bit and not the right “certified/aka part of the walled garden” app store version. /rantmode off

  4. kzw says:

    How can I run a FTP server after I installed inetutils?

Leave a Reply

 

Shop on Amazon.com and help support OSXDaily!

Subscribe to OSXDaily

Subscribe to RSS Subscribe to Twitter Feed Follow on Facebook Subscribe to eMail Updates

Tips & Tricks

News

iPhone / iPad

Mac