6 Best Free and Open Source Linux FTP Servers

File Transfer Protocol (FTP) is a time-honored method of transferring files to and from a remote network site. FTP is built on a client-server architecture and uses separate control and data connections between the client and server applications. The FTP client connects to the FTP server, and enables the user to send and retrieves files from that server.

FTP is one of many different file transfer protocols that are used. Other examples include the Hypertext Transfer Protocol (HTTP), BitTorrent, the SSH File Transfer Protocol (SFTP), and Secure Copy (SCP).

In recent years, FTP’s popularity for general downloading files has declined. Linux distributions and software are now often downloaded by using direct downloads using a web browser, by BitTorrent, metalink, or by using a download utility. FTP is often tucked away as a download option even if it is available. While FTP can cause bandwidth problems it nevertheless remains a great way of moving large files.

The downside to using FTP is that it doesn’t necessarily take internet security risks into account. SFTP, the more advanced version of the same technology, enables you to manage files on your server just like FTP does. However, it uses a previously-established Secure Shell (SSH) connection to maintain the safety of your files and the site as a whole.

An FTP server is a software application which enables the transfer of files from one computer to another. We make the following recommendations.

Ratings chart for best free and open source FTP servers

Let’s explore the 6 FTP servers at hand. Click the links in the table below to learn about each FTP server.

FTP Servers
Pure-FTPdFast and secure production-quality and standard-conformant FTP server
SFTPGoFully featured and highly configurable SFTP server
ProFTPdHighly configurable FTP server software
bftpd Strives to be fast, secure and quick to install and configure
tnftpdDefault NetBSD FTP server
vsftpdFairly minimal FTPd

To connect to your site’s server and manage your files, you’ll need an FTP client. Typically, the term ‘FTP client’ is used whether you’re accessing the site via FTP or SFTP. There are a variety of FTP clients available for download. Here are our recommended graphical FTP clients and command-line FTP clients. Free and open source goodness as you’d expect.

Best Free and Open Source SoftwareRead our complete collection of recommended free and open source software. Our curated compilation covers all categories of software.

The software collection forms part of our series of informative articles for Linux enthusiasts. There are hundreds of in-depth reviews, open source alternatives to proprietary software from large corporations like Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

There are also fun things to try, hardware, free programming books and tutorials, and much more.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Newest Most Voted
Inline Feedbacks
View all comments
Wendell Anderson
Wendell Anderson
2 years ago

I asked senior networking engineering managers at Redhat and SUSE linux why vsftpd was the default and :preferred” FTP server application for their distributions. This was enabled through by partnership with SUSE GmbH, Germany.

Both said that (a) the program has provem superior in networking security, and (b) with recordable better performance overall with flexible configuration options and capabilities than most all the otherFree/Open Source Software (FOSS) and even proprietary FTP applications available.
This reasoninmg would put choice of vsftps at odds with your evaluations.

2 years ago

Of course you did.

Jibun no Kage
Jibun no Kage
4 months ago

Pure-FTPd has one key issue, the developers have explicitly disabled/broken ‘mget *’ downloads… this was a key feature for us, since we have processing equipment that uploads status information and data to the FTP servers, and then we download from the FTP servers. The file names are random based since stamped with date and time references as well as other unique parameters so use of ‘mget *’ a key need, but Pure-FTPd developers completely broke it and left on option that we can find that can re-enable use of ‘mget *’ for downloading. Very user unfriendly. We know why they did it… but it should be a user configured option, to selectively enable ‘mget *’, not across the board, arbitrary restriction. We have search google, documentation, etc. seems there is no way to selectively re-able use of ‘mget *’ with Pure-FTPd. If anyone knows how it can be re-enabled, please chime in. The best suggestion found is to uninstall the latest version and use an older version than 1.0.50, not a great idea.

4 months ago
Reply to  Jibun no Kage

My advice is that if there’s sufficient demand for mget downloads to be enabled going forward, and the developers of Pure-FTd don’t wish to do this, the obvious step is to fork.

4 months ago
Reply to  James

It’s just an edge case.