FTP Server · 5 min read · Sep 23, 2025

So installieren Sie den vsftpd FTP-Server und sichern ihn mit TLS auf Debian 11

Das File Transfer Protocol oder FTP ist ein sehr altes und eines der bekanntesten Netzwerkprotokolle. Es ist im Vergleich zu SFTP oder SCP heutzutage nicht sicher, wird aber immer noch von vielen Benutzern als erste Wahl für den Dateitransfer zwischen einem Server und einem Client verwendet. FTP gilt als unsicher, da es Daten zusammen mit Benutzeranmeldeinformationen ohne jegliche Art von Verschlüsselung überträgt.

Wir haben heutzutage eine große Auswahl an Open-Source-FTP-Servern wie FTPD, VSFTPD, PROFTPD und pureftpd. Unter all diesen ist VSFTPD ein sehr sicheres, schnelles und am weitesten verbreitetes Protokoll für den Dateitransfer zwischen zwei Systemen.

VSFTPD ist auch bekannt als “Very Secure File Transfer Protocol Daemon” mit Unterstützung für SSL, IPv6, explizites und implizites FTPS.

In diesem Leitfaden zeigen wir Ihnen, wie Sie den vsftpd FTP-Server auf Debian 11 installieren.

Voraussetzungen

Ein Server, der Debian 11 ausführt.
Ein Nicht-Root-Benutzer mit Sudo-Rechten.

1. Installieren Sie Vsftpd

Bevor Sie mit der Installation beginnen, aktualisieren Sie Ihren Debian 11-Server, indem Sie den folgenden Befehl im Terminal ausführen:

sudo apt update -y  
sudo apt upgrade -y

Debian hat ein sehr großes Repository und das vsftpd-Paket ist im offiziellen Repository verfügbar, sodass Sie vsftpd ganz einfach installieren können, indem Sie den folgenden Befehl ausführen:

sudo apt install vsftpd -y

Nach der Installation des Pakets starten Sie den Vsftpd-Dienst, überprüfen den Status des Dienstes und aktivieren den Dienst beim Start.

sudo systemctl start vsftpd  

sudo systemctl status vsftpd  

systemctl enable vsftpd.service

2. Erstellen Sie einen FTP-Benutzer und konfigurieren Sie ihn für die FTP-Anmeldung

Jetzt erstellen Sie ein neues Benutzerkonto für FTP. Mit diesem Benutzer werden wir uns später beim FTP-Server anmelden.

sudo adduser sohan

Benutzer, die in der Datei vsftpd.userlist hinzugefügt werden, haben die Berechtigung, auf den FTP-Server zuzugreifen.

Als nächstes müssen wir den Benutzer sohan in die vsftpd-Benutzerliste aufnehmen. Öffnen Sie die Datei und fügen Sie einen Benutzer hinzu, indem Sie den folgenden Befehl ausführen:

echo "sohan" | sudo tee -a  /etc/vsftpd.userlist

3. Erstellen Sie das FTP-Benutzerverzeichnis

Als nächstes müssen wir ein FTP-Verzeichnis für unseren FTP-Benutzer erstellen und die Eigentümerschaft mit dem folgenden Befehl festlegen:

sudo mkdir -p /home/sohan/ftp_directory  
  
sudo chown nobody:nogroup /home/sohan/ftp_directory  
  
sudo chmod a-w /home/sohan/ftp_directory

Jetzt erstellen Sie ein Verzeichnis, in das Dateien hochgeladen werden können, und geben Sie die Eigentümerschaft an den Benutzer sohan, indem Sie den Befehl ausführen:

sudo mkdir -p /home/sohan/ftp_directory/ftp_data
sudo chown sohan:sohan /home/sohan/ftp_directory/ftp_data
cd /home/sohan/ftp_directory/
chmod -R 777 ftp_data

4. Konfigurieren Sie Vsftpd

Als nächstes müssen Sie einige Standardparameter ändern, um einen FTP-Server einzurichten.

Zuerst erstellen Sie eine Sicherungskopie der ursprünglichen vsftpd-Konfigurationsdatei.

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

Im FTP-Server haben anonyme Benutzer standardmäßig Zugriff. Um den FTP-Server sicherer zu machen, werden wir die Anmeldung anonymer Benutzer deaktivieren und nur bestimmten Benutzern Zugriff gewähren.

Öffnen Sie als nächstes die Datei vsftpd.conf und ändern Sie sie wie folgt:

vim /etc/vsftpd.conf
anonymous_enable=NO  
  
local_enable=YES

Es gibt einige andere Änderungen, die wir in der Konfiguration vornehmen müssen. Öffnen Sie zuerst vsftpd.conf.

sudo vim /etc/vsftpd.conf

Stellen Sie als nächstes sicher, dass die vsftpd.conf die folgenden Zeilen enthält:

listen=NO  
listen_ipv6=YES  
anonymous_enable=NO  
write_enable=YES  
local_umask=022  
dirmessage_enable=YES  
use_localtime=YES  
xferlog_enable=YES  
connect_from_port_20=YES  
chroot_local_user=YES  
secure_chroot_dir=/var/run/vsftpd/empty  
pam_service_name=vsftpd  
user_sub_token=$USER  
local_root=/home/$USER/ftp_directory  
userlist_enable=YES  
userlist_file=/etc/vsftpd.userlist  
userlist_deny=NO

Speichern Sie die Datei und schließen Sie sie. Sie können die obige Konfiguration nach Ihren Bedürfnissen ändern.

Starten Sie jetzt den vsftpd-Dienst neu und überprüfen Sie den Status des Dienstes, indem Sie die folgenden Befehle ausführen:

sudo systemctl restart vsftpd

Als nächstes stellen Sie sicher, dass der vsftpd-Dienst läuft, indem Sie den folgenden Befehl im Terminal ausführen:

sudo systemctl status vsftpd

5. Erlauben Sie vsftpd in der Firewall und greifen Sie auf den vsftpd-Server zu

Als nächstes, wenn Sie eine Firewall verwenden, erlauben Sie Port 21 und Port 22, indem Sie den folgenden Befehl ausführen:

sudo ufw allow 21/tcp  
  
sudo ufw allow 22/tcp

Laden Sie dann die Firewall neu, um die Änderungen anzuwenden:

sudo ufw reload

Öffnen Sie als nächstes einen beliebigen FTP-Client wie FileZilla und geben Sie Ihre Serverdetails ein, wie Protokoll, Host, Benutzer:

Firewall konfigurieren
Jetzt klicken Sie auf Verbinden und geben Sie Ihr Passwort ein:

Passwort eingeben

Dann werden Details wie unten angezeigt, klicken Sie auf OK.

Neuen Host akzeptieren

An diesem Punkt sind Sie mit dem FTP-Server verbunden und können Dateien/Ordner hochladen und herunterladen.

FTP-Serververbindung war erfolgreich

6. Sichern Sie Vsftpd mit SSL/TLS

Angenommen, Sie möchten verschlüsselte Daten über FTP übertragen. Dazu müssen Sie ein SSL-Zertifikat erstellen und die SSL/TLS-Verbindung aktivieren.

Sie können ein Zertifikat mit OpenSSL mit dem folgenden Befehl erstellen:

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

Jetzt müssen Sie die Datei vsftpd.conf bearbeiten und einige Änderungen vornehmen:

sudo vim /etc/vsftpd.conf

Fügen Sie die folgenden Zeilen am Ende hinzu:

rsa_cert_file=/etc/cert/vsftpd.pem  
rsa_private_key_file=/etc/cert/vsftpd.pem  
ssl_enable=YES  
allow_anon_ssl=NO  
force_local_data_ssl=YES  
force_local_logins_ssl=YES  
ssl_tlsv1=YES  
ssl_sslv2=NO  
ssl_sslv3=NO  
require_ssl_reuse=NO  
ssl_ciphers=HIGH

Speichern Sie die Datei und beenden Sie sie, und starten Sie dann Vsftpd mit dem folgenden Befehl neu:

sudo systemctl restart vsftpd

7. Greifen Sie über SSL/TLS auf FTP zu

Öffnen Sie den FileZilla FTP-Client und gehen Sie zu Datei > Site-Manager. Klicken Sie hier auf Neues Site hinzufügen und geben Sie den Host-/Site-Namen ein, fügen Sie die IP-Adresse hinzu, definieren Sie das zu verwendende Protokoll, Verschlüsselung: Erforderlich, um explizites FTP über TLS zu verwenden, und Anmeldetyp. Klicken Sie dann auf die Schaltfläche Verbinden. Sie sollten das folgende Bild sehen:

Zugriff auf FTP über SSL/TLS

Geben Sie als nächstes Ihr Passwort ein:

Passwort eingeben
Als nächstes sehen Sie das SSL-Zertifikat, überprüfen Sie die Zertifikatsdetails und klicken Sie auf OK.

SSL-Zertifikat akzeptieren
Schließlich sehen Sie die Inhalte Ihres FTP-Servers und können Ihre Daten sicher von einem System auf ein anderes übertragen.

FTP-Serververbindung erfolgreich

Fazit

In dem obigen Leitfaden haben wir den VSFTPD-Server auf Debian 11 installiert. Wir haben auch gelernt, wie man sich über eine unverschlüsselte und über eine verschlüsselte Verbindung mit einem SSL-Zertifikat verbindet.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.