FTP Server · 7 min read · Dec 22, 2025

So installieren Sie einen sicheren FTP-Server mit vsftpd auf Debian 12

vSFTPd oder Very Secure FTP Daemon ist eine kostenlose und Open-Source-FTP-Server-Software. Es ist ein FTP-Daemon für Unix-ähnliche Betriebssysteme und ist unter der GNU General Public License lizenziert. vSFTPd ist einer der am weitesten verbreiteten FTP-Daemons, er ist schnell und ressourcenschonend, sicher durch PAM- und SSL-Integration und stabil. vSFTPd hat das Vertrauen großer Unternehmen wie RedHat, SUSE, Debian, Gnome, KDE usw. aufgrund seiner Raffinesse gewonnen.

vSFTPd kann mit IPv6 betrieben werden und unterstützt virtuelle IP-Konfigurationen und Benutzer. Es kann als eigenständiger Daemon oder über inetd ausgeführt werden. Für die Benutzerverwaltung bietet vSFTPd eine Funktion, die es Benutzern ermöglicht, ihre eigene Konfiguration festzulegen, wie z. B. IP-Beschränkungen pro Quelle, Rekonfigurierbarkeit und Bandbreitenbegrenzung. Darüber hinaus unterstützt vSFTPd ein Plug-in-Authentifizierungsmodul (PAM) für virtuelle Benutzer und bietet auch eine Sicherheitsintegration mit SSL/TLS.

In diesem Tutorial lernen Sie, wie Sie einen sicheren FTP-Server mit vsftpd auf einem Debian 12-Server einrichten und erstellen. In diesem Leitfaden erfahren Sie auch, wie Sie Ihre FTP-Server-Installation über UFW (Uncomplicated Firewall) absichern und wie Sie sich mit dem FTP-Client FileZilla mit dem FTP-Server verbinden.

Voraussetzungen

Bevor Sie fortfahren, stellen Sie sicher, dass Sie Folgendes haben:

  • Einen Debian 12-Server.
  • Einen Nicht-Root-Benutzer mit sudo-Administratorrechten.
  • Das Paket openssl ist auf Ihrem Server installiert.

Installation von vsftpd

Das vsftpd ist eine Implementierung des FTP-Protokolls für UNIX- und Linux-Betriebssysteme. Das vsftpd-Paket ist in den meisten Linux-Distributionen, einschließlich Debian, verfügbar. Jetzt installieren Sie vsftpd über APT und überprüfen den vsftpd-Dienst, um sicherzustellen, dass der Dienst läuft.

Bevor Sie das vsftpd-Paket installieren, führen Sie den folgenden Befehl aus, um Ihr Debian-Repository zu aktualisieren.

sudo apt update

update repo

Jetzt installieren Sie das vsftpd-Paket mit dem folgenden apt install-Befehl.

sudo apt install vsftpd

Bestätigen Sie die Installation, indem Sie y eingeben und die ENTER-Taste drücken.

install vsftpd

Nachdem vsftpd installiert ist, wird der vsftpd-Dienst automatisch ausgeführt und aktiviert. Überprüfen Sie den vsftpd-Dienst mit dem folgenden Befehl.

sudo systemctl is-enabled vsftpd  
sudo systemctl status vsftpd

Die folgende Ausgabe bestätigt, dass der vsftpd-Dienst läuft und aktiviert ist. Außerdem wird der vsftpd-Dienst beim Systemstart automatisch gestartet.

verify vsftpd

Konfigurieren von vsftpd

Im nächsten Schritt konfigurieren und erstellen Sie einen sicheren FTP-Server mit vsftpd. Sie werden SSL/TLS-Zertifikate generieren und die Standardkonfiguration von vsftpd /etc/vsftpd.conf ändern.

Führen Sie zuerst den folgenden openssl-Befehl aus, um neue TLS-Zertifikate zu generieren, die für Ihre vsftpd-Serverinstallation verwendet werden.

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

Geben Sie Ihre Details ein, wenn Sie dazu aufgefordert werden. Nach Abschluss des Prozesses sind Ihre TLS-Zertifikate unter /etc/ssl/private/vsftpd.pem verfügbar.

generate tls

Führen Sie jetzt den folgenden Befehl aus, um eine neue Datei /etc/vsftpd.userlist zum Speichern von FTP-Benutzern zu erstellen.

touch /etc/vsftpd.userlist

Führen Sie danach den folgenden Befehl aus, um die vsftpd-Konfiguration zu sichern. Öffnen Sie dann die vsftpd-Konfiguration /etc/vsftpd.conf mit dem Nano-Editor.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig  
sudo nano /etc/vsftpd.conf

Deaktivieren Sie den anonymen Zugriff auf Ihren vsftpd-Server, indem Sie die Option anonymous_enable auf NO ändern.

anonymous_enable=NO

Erlauben Sie lokalen Benutzern innerhalb der Datei /etc/passwd und PAM-Benutzern, sich beim vsftpd-Server anzumelden, indem Sie die Option local_enable auf YES ändern.

local_enable=YES

Erlauben Sie FTP-Benutzern, Dateien auf den vsftpd-Server hochzuladen, indem Sie die Option write_enable auf YES ändern.

write_enable=YES

Aktivieren Sie nun chroot oder Jail für FTP-Benutzer, indem Sie die folgenden Optionen hinzufügen. Dies wird den FTP-Benutzer im Verzeichnis /home/$USER/chroot einsperren. Zum Beispiel wird der FTP-Benutzer bob im Verzeichnis /home/bob/chroot eingesperrt.

chroot_local_user=YES  
user_sub_token=$USER  
local_root=/home/$USER/chroot

Fügen Sie als Nächstes die folgende Konfiguration hinzu, um virtuelle Benutzer für vsftpd einzurichten. Jeder Benutzer in der Datei /etc/vsftpd.userlist wird berechtigt sein, sich beim vsftpd-Server anzumelden.

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

Fügen Sie die folgenden Zeilen hinzu, um Ihren vsftpd-Server mit SSL/TLS-Zertifikaten abzusichern. Dies zwingt die Benutzeranmeldung und die Datenübertragungsverbindung, sichere Verbindungen zu verwenden.

rsa_cert_file=/etc/ssl/private/vsftpd.pem  
rsa_private_key_file=/etc/ssl/private/vsftpd.pem  
ssl_enable=YES  
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

Fügen Sie nun die folgende Konfiguration hinzu, um die passiven Verbindungen über Ports zwischen 20000 und 25000 einzurichten.

pasv_min_port=20000  
pasv_max_port=25000

Speichern Sie die Datei und beenden Sie sie, wenn Sie fertig sind.

Führen Sie nun den folgenden systemctl-Befehl aus, um den vsftpd-Dienst neu zu starten und die Änderungen anzuwenden, die Sie vorgenommen haben.

sudo systemctl restart vsftpd

Damit läuft Ihr vsftpd-Server jetzt mit neuen Konfigurationen.

Firewall einrichten

Im nächsten Schritt installieren Sie UFW (Uncomplicated Firewall) auf Ihrem Debian-Server und sichern Ihre FTP-Server-Installation damit. Sie installieren UFW über APT, öffnen den FTP-Serverport 20:21/tcp und den passiven Datenverbindungsport 20000:25000/tcp.

Installieren Sie UFW mit dem folgenden apt-Befehl. Geben Sie y ein, um mit der Installation fortzufahren.

sudo apt install ufw

install ufw

Nachdem UFW installiert ist, führen Sie die folgenden ufw-Befehle aus, um den Port für den OpenSSH-Dienst, die vsftpd-Serverports 20:21 und die passive FTP-Verbindung zwischen den Ports 20000 und 25000 zu öffnen.

sudo ufw allow OpenSSH  
sudo ufw allow 20:21/tcp  
sudo ufw allow 20000:25000/tcp

Führen Sie als Nächstes den folgenden ufw-Befehl aus, um UFW zu starten und zu aktivieren.

sudo ufw enable

Geben Sie zur Bestätigung ein, und die UFW sollte auf Ihrem Debian-System laufen und aktiviert sein.

setup ufw

Überprüfen Sie den detaillierten Status von UFW mit dem folgenden Befehl.

sudo ufw status

Die Ausgabe aktiv bestätigt, dass UFW läuft und aktiviert ist. Außerdem ist der OpenSSH-Dienst hinzugefügt, und einige Ports für den vsftpd-Server 20:21/tcp und 20000:25000/tcp sind hinzugefügt.

verify ufw

Einrichten von FTP-Virtualbenutzern

An diesem Punkt haben Sie die Konfiguration Ihres vsftpd-Servers abgeschlossen. Jetzt werden Sie einen neuen FTP-Benutzer erstellen, der zum Anmelden am FTP-Server und zum Hochladen von Dateien verwendet wird.

Führen Sie den folgenden Befehl aus, um eine neue Datei /bin/ftponly zu erstellen. Machen Sie sie dann mit dem folgenden chmod-Befehl ausführbar. Die Datei /bin/ftponly wird als Standardshell für FTP-Benutzer verwendet.

echo -e '#!/bin/sh
echo "Shell für FTP-Benutzer nur."' | sudo tee -a  /bin/ftponly  
sudo chmod a+x /bin/ftponly

Fügen Sie die Datei /bin/ftponly zu /etc/shells hinzu, um sicherzustellen, dass es sich um eine gültige Shell handelt.

sudo echo "/bin/ftponly" >> /etc/shells

Erstellen Sie jetzt einen neuen FTP-Benutzer bob und richten Sie das Passwort ein, indem Sie den folgenden Befehl ausführen. Geben Sie Ihr Passwort ein und wiederholen Sie es.

sudo useradd -m -s /bin/ftponly bob  
sudo passwd bob

Führen Sie danach den folgenden Befehl aus, um ein neues chroot-Verzeichnis /home/bob/chroot für den Benutzer bob zu erstellen. Außerdem stellen Sie sicher, dass das chroot-Verzeichnis /home/bob/chroot das richtige Eigentum hat.

sudo -u bob mkdir -p /home/bob/chroot  
sudo chown -R bob: /home/bob/chroot

Führen Sie als Nächstes den folgenden Befehl aus, um weitere neue Verzeichnisse data und upload zu erstellen, die zum Speichern von FTP-Benutzerdaten verwendet werden. Stellen Sie sicher, dass Sie das Eigentum für diese Verzeichnisse richtig konfigurieren.

sudo -u bob mkdir -p /home/bob/chroot/{data,upload}  
sudo chown -R bob: /home/bob/chroot/{data,upload}

Führen Sie jetzt den folgenden Befehl aus, um die Berechtigung des Verzeichnisses /home/bob/chroot auf 550 und die beiden Verzeichnisse data und upload auf 750 zu ändern.

sudo chmod 550 /home/bob/chroot  
sudo chmod 750 /home/bob/chroot/{data,upload}

Nachdem Sie einen neuen Benutzer erstellt haben, führen Sie den folgenden Befehl aus, um den Benutzer bob zur Datei /etc/vsftpd.userlist hinzuzufügen.

echo "bob" >> /etc/vsftpd.userlist

Führen Sie schließlich den folgenden Befehl aus, um den vsftpd-Dienst neu zu starten und die Änderungen anzuwenden. Nach Ausführung des Befehls ist Ihr FTP-Benutzer bob bereit.

sudo systemctl restart vsftpd

Dateien auf den FTP-Server hochladen

Um Ihre vsftpd-Serverinstallation zu überprüfen, werden Sie sich mit dem neuen Benutzer, den Sie über die FTP-Client-Software erstellt haben, mit dem FTP-Server verbinden. Dann werden Sie auch neue Dateien hochladen, um sicherzustellen, dass Ihre Installation erfolgreich ist.

Laden Sie den FTP-Client für Ihren lokalen Computer herunter und installieren Sie ihn. Sie können FileZilla verwenden, das auf Windows, Linux und MacOS installiert werden kann. Sobald FileZilla installiert ist, öffnen Sie es, um sich mit Ihrem sicheren FTP-Server zu verbinden.

Geben Sie die IP-Adresse Ihres FTP-Servers sowie den Benutzernamen und das Passwort Ihres FTP-Benutzers ein. Klicken Sie dann auf Schnellverbindung, um zu bestätigen.

Wählen Sie die Option Dieses Zertifikat in zukünftigen Sitzungen immer vertrauen und klicken Sie auf OK, um zu bestätigen.

accept certificates

Sobald Sie mit Ihrem FTP-Server verbunden sind, sollten Sie zwei Verzeichnisse data und upload auf Ihrem FTP-Server sehen. Sie können Dateien in beide Verzeichnisse data und upload hochladen, aber Sie können keine Dateien außerhalb dieser Verzeichnisse hochladen, die über chroot geschützt sind.

connected to ftp server

Sie können Ihre Dateien per Drag & Drop hochladen.

uploAded files

Fazit

Zusammenfassend haben Sie erfolgreich einen sicheren FTP-Server mit vsftpd auf einem Debian 12-Server erstellt. Sie haben auch Ihre FTP-Server-Installation über UFW (Uncomplicated Firewall) gesichert und gelernt, wie man FTP-Benutzer erstellt. Sie können den FTP-Server jetzt als Hauptdatenübertragungsmittel zwischen Ihrem lokalen Computer und Ihrem Server verwenden. Sie können auch eine andere FTP-Client-Software nach Ihren Vorlieben finden.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.