FTP stands for “File Transfer Protocol” and is a great protocol for downloading files from a remote or local server, or uploading files onto the server. Using FTP proves to be a pretty basic task after it has been setup properly. It works by having a server that is listening for connections (on port 21 by default) from clients. The clients can access a remote directory with their user account, and then download or upload files there, depending on the permissions that have been granted to them. It’s also possible to configure anonymous authorization, which means that users will not need their own account in order to connect to the FTP server.
On Ubuntu Linux, there are a multitude of different FTP server and client software packages available. You can even use default GUI and command line tools as an FTP client. A very popular and highly configurable FTP server package is vsftpd, available for many Linux systems, including Ubuntu.
In this guide, we will go over the step by step instructions to install vsftpd on Ubuntu. We’ll also see how to to configure the FTP server through various settings, then how to use command line, GNOME GUI, or FTP client software to connect to the FTP server.
FTP will suffice for some situations, but for connections over the internet, SFTP is recommended. This is because FTP is not secure to use over an internet connection, since your credentials and data are transmitted without encryption. The ‘S’ in SFTP stands for ‘Secure’ and tunnels the FTP protocol through SSH, providing the encryption needed to establish a secure connection. To learn more about SFTP, see our guide on How to Securely Transfer Files With SFTP.
In this tutorial you will learn:
- How to install and configure vsftpd on Ubuntu
- How to setup an FTP user account
- How to connect to FTP server via command line
- How to connect to FTP server via GUI
- How to configure anonymous FTP login
- How to change the default FTP listening port
- Troubleshooting “connection refused” FTP connection error