×


Install Vsftpd with SSL / TLS on Ubuntu 20.04 - Best Procedure ?

Vsftpd (Very Secure File Transfer Protocol Daemon) is an FTP server software for Linux, Unix. It is basically a default FTP server of Ubuntu, Fedora, NimbleX, and so on. The FTP server software makes transferring files from client to server and vice versa easy.

Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to perform related FTP files transfer queries on Linux systems.

In this context, we shall look into how to install Vsftpd with SSL / TLS on Ubuntu 20.04.


How to Install Vsftpd on Ubuntu Linux system ?

To perform this installation procedure, follow the step outlined below.

1. Run the apt command to update available packages:

$ sudo apt update

2. Install Vsftpd by running the below command:

$ sudo apt install vsftpd

3. After Installation, You can check the installed version:

$ vsftpd -v

4. Finally, in order to verify the status of the Vsftpd service, run the command:

$ sudo systemctl status vsftpd


How to configure Vsftpd ?

You can follow the below steps to configure Vsftpd after Installation.


1. For FTP access, simply modify the vsftpd.conf file as shown below:

$ sudo nano /etc/vsftpd.conf

The content of the file should look like this:

# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES


2. Add user login you allowed. You can do this by Opening the vsftpd configuration file and add:

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

After saving this file, Exit and save it.

Then, you add the users you allow by typing the usernames to the /etc/vsftpd.userlist file:

$ sudo nano /etc/vsftpd.userlist

Again, Exit and save it.

For this to take effect, let's restart vsftpd:

$ sudo systemctl restart vsftpd


3. Enable Upload by examining the vsftpd.conf file as seen below:

$ sudo nano /etc/vsftpd.conf

It should now look like this:

# Uncomment this to enable any form of FTP write command.
write_enable=YES

The idea is to delete the "#" syntax before the command and save it.


4. Login to the Vsftpd Server. For example, We will create a user named "linuxapt":

$ sudo useradd -m linuxapt

Then, you need to create a password:

$ sudo passwd linuxapt


5. Enable SSL/TLS for secure file transfer

To enable secure file transfer via TLS, proceed as follows.

Firstly, open the vsftpd configuration file with the command below.

$ sudo nano /etc/vsftpd.conf

Next, look for the rsa_cert_file and rsa_private_key_file options and update the values as shown below.

rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key

Also, look for ssl_enable and change the value to YES:

ssl_enable=YES

Finally, Save and close the vsftpd configuration file.


How to check the FTP connection ?

You can check the ftp connection by running the below command:

$ ftp localhost

To complete this process, you must provide the username and password which you have previously created.


[Need assistance in Configuring FTP connections across different servers ? We can help you. ]


Conclusion

This article covers a complete guide on how to install Vsftpd with SSL/TLS on Ubuntu 20.04. In fact, sftpd (i.e. very secure FTP daemon) is an FTP server software for Linux and other Unix-like systems. An FTP server software facilitates the transfer of files from a client computer to the server and vice versa.