Menu
User

DropVPS Team

Writer: Cooper Reagan

How To install ftp on Debian 13 Trixie

How To install ftp on Debian 13 Trixie

Publication Date

10/20/2025

Category

Articles

Reading Time

3 Min

Table of Contents

An FTP (File Transfer Protocol) server is a simple and efficient way to transfer files between systems or provide remote file access. On Debian 13 (Trixie), setting up an FTP server is quick and secure using vsftpd — one of the fastest and most reliable FTP daemons available for Linux.

Update Your System

Before installing anything, always update your package index and system dependencies:

sudo apt update && sudo apt upgrade -y

Install vsftpd

Install the vsftpd package using Debian’s official repositories:

sudo apt install vsftpd -y

Start the FTP service and enable it to start at boot:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

Verify that it’s running properly:

sudo systemctl status vsftpd

Backup the Default Configuration

Before editing, make a backup of the original configuration file:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

This ensures you can easily restore default settings if needed.

Configure FTP Access

Edit the vsftpd configuration file:

sudo nano /etc/vsftpd.conf

Modify or ensure the following lines are present and uncommented:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

Enable passive mode for better compatibility with clients behind NAT/firewalls:

pasv_min_port=40000
pasv_max_port=50000

Save and close the file (CTRL + O, ENTER, CTRL + X).

Restart vsftpd

Apply your changes by restarting the service:

sudo systemctl restart vsftpd

Configure the Firewall

If you’re using UFW, allow FTP and passive port access:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw reload

Confirm that the rules are applied:

sudo ufw status

Create an FTP User

Create a dedicated FTP user account (replace ftpuser with your preferred username):

sudo adduser ftpuser

Set a password and complete the prompts. Then make sure the user’s home directory is accessible:

sudo chmod 755 /home/ftpuser

Test the FTP Server

You can now test your FTP connection using an FTP client like FileZilla, WinSCP, or via the terminal.

Use the following connection details:

  • Host: your_server_ip

  • Port: 21

  • Username: ftpuser

  • Password: your password

If you can log in and view the user’s home directory, your FTP server is working properly.

Enable SSL for Secure FTP (Optional)

To encrypt file transfers using FTPS, generate a self-signed SSL certificate:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Then edit the vsftpd configuration file again:

sudo nano /etc/vsftpd.conf

Add or update these lines:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES

Restart the service to apply SSL:

sudo systemctl restart vsftpd

Now your FTP server supports FTPS for secure, encrypted connections.

Setting up vsftpd on Debian 13 (Trixie) provides a fast, stable, and secure environment for file transfers. Whether you’re hosting web content, managing backups, or sharing files between systems, this configuration is efficient and production-ready.

For high-performance Debian servers optimized for FTP, cloud apps, and automation, visit DropVPS Home page— reliable hosting for developers, businesses, and sysadmins.

Linux VPS
U
Loading...

Related Posts