vsftpd is lightweight, highly stable, secure, and fast FTP server for Linux environment. vsftpd also supports virtual ip, virtual users, bandwidth throttling, IPv6, encryption etc..

This article provides step-by-step instructions to set up FTP Server on your LINUX machine:

STEP-1

Install vsftpd:

sudo apt-get install vsftpd

STEP-2

Configure your vsfpd configuration file. You can find it on location /etc/vsftpd.conf

Uncomment following options in vsftpd.conf file:

local_enable=YES

anonymous_enable=YES (To Enable Anonymous user login)

write_enable=YES

STEP-3

Restart vsftpd service:

sudo service vsftpd restart

 

 

Now, you can access you FTP server on port 21.

Test your set up:

ftp localhost

For more configuration details, follow the link:

http://manpages.ubuntu.com/manpages/precise/en/man5/vsftpd.conf.5.html

Here, you can find more description of vsftpd configuration parameters.

Change Default Port VSFTPD

VSFTPD default port is 21. If you want to change default port to any other port, follow the steps:

Add following options to vsftpd.conf:

listen_port=YOUR_PORT

pasv_enable=YES

pasv_max_port=10100

pasv_min_port=10090

 

Allow outbound rule in firewall for these passive ports. You can save these using iptables:

iptables -I INPUT -p tcp –destination-port 10090:10100 -j ACCEPT

 

Restart your vsftpd service after changing ports:

sudo service vsftpd restart

 

 

 

Enable SSL/TLS/FTPS

Add the following options in vsftpd.conf file to enable FTPS:

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
 

 

No need to create a certificate if openssl package is installed!

Restart your vsftpd service:

sudo service vsftpd restart

 

 

Both FTP and FTPS using vsftpd

If you want to start your FTP and FTPS server simultaneously, you can achieve it by starting 2 services of vsfpd.

1)      Copy /etc/vsftpd.conf to /etc/vsftpd-ssl.conf

2)      Edit and configure /etc/vsfpd-ssl.conf for FTPS server.

3)      Save it.

4)      First start vsftpd service (FTP) sudo service vsftpd start

5)      Now, start vsftpd service for FTPS:   sudo vsftpd /etc/vsftpd-ssl.conf

 

— Sharad Sinha

Leave a Reply