Server-Konfiguration · 4 min read · Dec 18, 2025

Wie man vsftpd mit TLS auf Debian 8 (Jessie) installiert und konfiguriert

Dieser Artikel erklärt, wie man einen TLS-fähigen vsftpd-Server auf einem Debian 8-Server einrichtet und wie man mit FileZilla auf den FTP-Server zugreift. FTP ist standardmäßig ein sehr unsicheres Protokoll, da alle Passwörter und Daten im Klartext übertragen werden. Durch die Verwendung von TLS kann die gesamte Kommunikation verschlüsselt werden, wodurch FTP viel sicherer wird.

1 Vorbemerkung

In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.1.100. Diese Einstellungen können bei Ihnen abweichen, daher müssen Sie sie gegebenenfalls anpassen. Ich verwende die minimalen Debian 8-Servereinstellungen als Grundlage für dieses Tutorial.

2 Installation von vsftpd und OpenSSL

OpenSSL wird von TLS benötigt; um vsftpd und OpenSSL zu installieren, führen wir einfach aus:

apt-get -y install vsftpd openssl

3 Erstellen des SSL-Zertifikats für TLS

Um TLS verwenden zu können, müssen wir ein SSL-Zertifikat erstellen. Ich erstelle es in /etc/ssl/private - wenn das Verzeichnis nicht existiert, erstellen Sie es jetzt:

mkdir -p /etc/ssl/private  
chmod 700 /etc/ssl/private

Anschließend können wir das SSL-Zertifikat wie folgt generieren:

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

Landname (2-Buchstaben-Code) [AU]: <– Geben Sie Ihren Landnamen ein (z.B. “DE”).
Bundesland oder Provinzname (vollständiger Name) [Some-State]: <– Geben Sie den Namen Ihres Bundeslandes oder Ihrer Provinz ein.
Ortsname (z.B. Stadt) []: <– Geben Sie Ihre Stadt ein.
Organisationsname (z.B. Firma) [Internet Widgits Pty Ltd]: <– Geben Sie den Namen Ihrer Organisation ein (z.B. den Namen Ihres Unternehmens).
Abteilungsname (z.B. Abschnitt) []: <– Geben Sie den Namen Ihrer Abteilung ein (z.B. “IT-Abteilung”).
Allgemeiner Name (z.B. IHR Name) []: <– Geben Sie den vollqualifizierten Domainnamen des Systems ein (z.B. “server1.example.com”).
E-Mail-Adresse []: <– Geben Sie Ihre E-Mail-Adresse ein.

4 Aktivieren von TLS in vsftpd

Um TLS in vsftpd zu aktivieren, öffnen Sie /etc/vsftpd.conf…

nano /etc/vsftpd.conf

… und fügen Sie die folgenden Optionen hinzu oder ändern Sie sie:

[...]  

# SSL aktivieren
ssl_enable=YES

# Anonyme Benutzer dürfen gesicherte SSL-Verbindungen nutzen
allow_anon_ssl=YES

# Alle nicht-anonymen Anmeldungen sind gezwungen, eine sichere SSL-Verbindung zu verwenden, um Daten zu senden und zu empfangen.
force_local_data_ssl=YES

# Alle nicht-anonymen Anmeldungen sind gezwungen, eine sichere SSL-Verbindung zu verwenden, um das Passwort zu senden.
force_local_logins_ssl=YES

# Erlauben Sie TLS v1-Protokollverbindungen. TLS v1-Verbindungen haben Vorrang
ssl_tlsv1=YES

# Erlauben Sie SSL v2-Protokollverbindungen. TLS v1-Verbindungen haben Vorrang
ssl_sslv2=NO

# Erlauben Sie SSL v3-Protokollverbindungen. TLS v1-Verbindungen haben Vorrang
ssl_sslv3=NO

# Deaktivieren Sie die Wiederverwendung von SSL-Sitzungen (erforderlich von WinSCP)
require_ssl_reuse=NO

# Wählen Sie, welche SSL-Verschlüsselungen vsftpd für verschlüsselte SSL-Verbindungen zulassen wird (erforderlich von FileZilla)
ssl_ciphers=HIGH

# Diese Option gibt den Speicherort des RSA-Zertifikats an, das für SSL-verschlüsselte Verbindungen verwendet werden soll.
rsa_cert_file=/etc/ssl/private/vsftpd.pem
[...] 

Wenn Sie force_local_logins_ssl=YES und force_local_data_ssl=YES verwenden, sind nur TLS-Verbindungen erlaubt (dies schließt alle Benutzer mit alten FTP-Clients aus, die keine TLS-Unterstützung haben); durch die Verwendung von force_local_logins_ssl=NO und force_local_data_ssl=NO sind sowohl TLS- als auch Nicht-TLS-Verbindungen erlaubt, abhängig davon, was der FTP-Client unterstützt.

Neben den TLS-Optionen stellen Sie sicher, dass Sie auch die folgenden Einstellungen in Ihrer vsftpd.conf haben, um nicht-anonyme Anmeldungen zu aktivieren:

[...]  
# Kommentieren Sie dies aus, um lokalen Benutzern die Anmeldung zu ermöglichen.
local_enable=YES
#
# Kommentieren Sie dies aus, um eine beliebige Form von FTP-Schreibbefehlen zu aktivieren.
write_enable=YES
#
# Standard-Umask für lokale Benutzer ist 077. Möglicherweise möchten Sie dies auf 022 ändern,
# wenn Ihre Benutzer das erwarten (022 wird von den meisten anderen ftpd's verwendet)
local_umask=022

[...] 

Starten Sie danach vsftpd neu:

service vsftpd restart

Das war’s. Sie können jetzt versuchen, sich mit Ihrem FTP-Client zu verbinden; Sie sollten jedoch Ihren FTP-Client so konfigurieren, dass er TLS verwendet (dies ist ein Muss, wenn Sie force_local_logins_ssl=YES und force_local_data_ssl=YES verwenden) - siehe das nächste Kapitel, wie Sie dies mit FileZilla tun.

5 vsftpd Benutzer hinzufügen

In diesem Schritt werden wir einen lokalen Linux-Benutzer hinzufügen, den wir verwenden können, um uns zu verbinden. Ich werde einen Benutzer “till” mit dem Passwort “howtoforge” erstellen. Alle FTP-Benutzer sollen ihre Heimatverzeichnisse in mkdir /var/ftproot haben, also werde ich dieses Verzeichnis zuerst erstellen.

mkdir /var/ftproot

Dann fügen Sie den Benutzer mit dem Befehl hinzu:

adduser --home /var/ftproot/till till

Der Befehl adduser wird nach dem Benutzerpasswort und einigen anderen Details fragen

root@server1:/# adduser --home /var/ftproot/till till  
Adding user `till' ...  
Adding new group `till' (1001) ...  
Adding new user `till' (1001) with group `till' ...  
Creating home directory `/var/ftproot/till' ...  
Copying files from `/etc/skel' ...  
Enter new UNIX password: <-- Geben Sie hier das neue Passwort ein  
Retype new UNIX password: <-- Geben Sie hier das neue Passwort ein  
passwd: password updated successfully  
Changing the user information for till  
Enter the new value, or press ENTER for the default  
Full Name []: <-- Geben Sie hier Ihren Namen ein oder drücken Sie Enter, um zu überspringen  
Room Number []: <-- Geben Sie hier die Raumnummer ein oder drücken Sie Enter, um zu überspringen  
Work Phone []: <-- Geben Sie hier die Telefonnummer der Arbeit ein oder drücken Sie Enter, um zu überspringen  
Home Phone []: <-- Geben Sie hier die Telefonnummer des Hauses ein oder drücken Sie Enter, um zu überspringen  
Other []: <-- Geben Sie hier andere Benutzerdetails ein oder drücken Sie Enter, um zu überspringen  
Is the information correct? [Y/n] <-- Y

Wir haben erfolgreich einen FTP-Benutzer hinzugefügt.

6 Konfigurieren von FileZilla für TLS

Um FTP mit TLS zu verwenden, benötigen Sie einen FTP-Client, der TLS unterstützt, wie FileZilla.

Öffnen Sie in FileZilla den Server-Manager:

Filezilla Server-Manager.

Geben Sie die IP-Adresse oder den Hostnamen des FTP-Servers im Serverfeld ein, wählen Sie das Protokoll “FTP” und “Erfordere explizites FTP über TLS” und geben Sie den Benutzernamen im Benutzerfeld ein.

Filezilla Server-Anmeldedaten.

Jetzt können Sie sich mit dem Server verbinden. Wenn Sie dies zum ersten Mal tun, müssen Sie das neue SSL-Zertifikat des Servers akzeptieren:

SSL-Zertifikat akzeptieren.

Wenn alles gut geht, sollten Sie jetzt auf dem Server angemeldet sein:

vsftpd Anmeldung erfolgreich.

7 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.