Installieren Sie einen FTP-Server auf Ubuntu VPS in 6 einfachen Schritten

Dieser Artikel enthält eine umfassende Anleitung, die Ihnen bei der Einrichtung eines FTP-Servers mit Ubuntu VPS hilft. Wir führen Sie durch die wichtigsten Schritte, damit Sie alle Einstellungen korrekt konfigurieren und das Endergebnis sehen können.

Der Leitfaden konzentriert sich auf die Verwendung des vsftpd-Servers als eines der schnellsten und genauesten Tools für die FTP-Installation. Wenn Sie mit UNIX-ähnlichen Systemen arbeiten, beantwortet dieser Leitfaden Ihre Fragen und führt Sie Schritt für Schritt  durch den Prozess.

FTP zunächst definieren

FTP ist ein File Transfer Protocol (Dateiübertragungsprotokoll). Was macht es? Es wird für die Online-Übertragung von Dateien mit Hilfe des TCP/IP-Protokolls verwendet. Es ist ein praktisches Mittel zum Austausch von Dateien. Es ist jedoch nicht nur auf das genannte Protokoll beschränkt. FTP geht auch Hand in Hand mit dem Client-Framework-Protokoll sowie einer bekannten Sicherheitsfunktion – SSL/TLS – für eine sichere Verbindung.

In einigen Fällen kann man FTP mit HTTP oder SMTP vergleichen. Diese Begriffe stehen für HyperText Transfer Protocol bzw. Simple Mail Transfer Protocol. Was ist der Unterschied? FTP übernimmt die Dateiübertragung, während HTTP für Webseiten und SMTP für E-Mails zuständig ist.

Müssen Sie vor Beginn irgendwelche Vorbereitungen treffen? Stellen Sie vor allem sicher, dass auf dem VPS eine aktuelle Ubuntu-Version installiert ist. Die Befehle in dieser Anleitung funktionieren unter Ubuntu 18.04 und neueren Versionen. Nun können wir ohne weitere Umschweife mit den einzelnen Schritten beginnen.

So installieren Sie einen FTP-Server in 6 einfachen Schritten: eine umfassende Anleitung

Wenn Sie wissen, wie Sie sich mit SSH mit einem Server verbinden, können Sie gerne weiterlesen. Wenn Sie jedoch Fragen zu diesem Vorgang haben, sollten Sie sich zunächst mit den Grundlagen vertraut machen und lernen, wie Sie die einzelnen Schritte ausführen.

Lernen Sie vsftpd kennen

1. Als erster Schritt erfordert die Installation von vsftpd einige vorbereitende Maßnahmen. Bevor Sie weitere Schritte ausführen, müssen Sie die Paketlisten aktualisieren. Führen Sie dazu den folgenden Befehl aus:

sudo apt-get update

Wenn der Vorgang abgeschlossen ist und die Aktualisierungen fertig sind, wird eine Bestätigung angezeigt.

2. Installieren Sie anschließend vsftpd mit dem folgenden Befehl:

sudo apt-get install vsftpd

Sie sehen eine Bestätigungsaufforderung. Das System fordert Sie auf, Y einzugeben und mit der Eingabetaste fortzufahren, um den Installationsvorgang zu starten.

3. Nun sollte die Installation abgeschlossen sein. Sichern Sie anschließend die ursprüngliche Konfigurationsdatei, damit Sie mit einer sauberen Konfiguration beginnen können:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

Wenn die ersten Schritte abgeschlossen sind, ist es Zeit, mit der Konfiguration der Firewall zu beginnen.

FTP-Datenverkehr über die Firewall zulassen

 1. Eine Firewall ist ein unverzichtbarer Schritt, wenn Sie den Prozess abschließen und die Ubuntu-FTP-Dateiübertragung online nutzen möchten. Der erste Schritt ist jedoch etwas anders. Sie müssen sicherstellen, dass die Firewall auf Ihrem Rechner zuverlässig aktiviert ist. Dies kann mit einem einfachen Befehl erfolgen. Führen Sie ihn aus, um den aktuellen Status anzuzeigen:

sudo ufw status

Wie kann man feststellen, ob die Firewall aktiviert ist? Die Meldung „ufw: command not found” weist darauf hin, dass die Firewall auf dem Rechner nicht vorhanden ist. Um dies zu ändern, geben Sie folgenden Befehl ein:

sudo apt-get install ufw
sudo ufw enable

Damit können Sie die Firewall ganz einfach aktivieren.

Wenn Sie sehen, dass die Firewall aktiviert ist, müssen Sie noch einige Aufgaben erledigen.

2. Erlauben Sie nun den benötigten Datenverkehr. Geben Sie dazu nacheinander die folgenden Befehle ein:

sudo ufw allow OpenSSH
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp
sudo ufw allow 40000:50000/tcp

Dadurch werden die benötigten Ports geöffnet: OpenSSH, die Ports 20 und 21, Port 990 sowie der Portbereich 40000 bis 50000 für passive Verbindungen.

3. Als letzten Schritt überprüfen Sie den Status mit dem folgenden Befehl:

sudo ufw status

Die Ausgabe sollte etwa so aussehen:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
20/tcp                     ALLOW       Anywhere
21/tcp                     ALLOW       Anywhere
990/tcp                    ALLOW       Anywhere
40000:50000/tcp            ALLOW       Anywhere

Erstellen Sie ein praktisches Benutzerverzeichnis

1. Wenn Sie die Firewall eingerichtet haben, sollten Sie als nächsten Schritt einen Benutzer anlegen, der den FTP-Zugang nutzt. Ersetzen Sie bluevps durch den gewünschten Benutzernamen:

sudo adduser bluevps

 2. Als nächsten wichtigen Schritt müssen Sie alle Details und Passwörter für den Benutzer eingeben. FTP sollte aus Sicherheitsgründen nur von einem Benutzerverzeichnis verwaltet werden. In der Regel wird ein FTP-Verzeichnis erstellt. Dieses Verzeichnis ist beschreibbar und dient zur Speicherung der Dateien.

 3. Ihre Aufgabe besteht darin, die in der folgenden Liste aufgeführten Befehle nacheinander auszuführen.

sudo mkdir /home/bluevps/ftp
sudo chown nobody:nogroup /home/bluevps/ftp
sudo chmod a-w /home/bluevps/ftp
sudo ls -la /home/bluevps/ftp

Zuerst erstellen Sie den Ordner und legen die Eigentumsrechte fest. Anschließend entfernen Sie die Schreibberechtigung und überprüfen die Berechtigungen mit dem letzten Befehl.

4. Erstellen Sie zum Schluss ein beschreibbares Verzeichnis für die Dateien und übertragen Sie die Eigentumsrechte an den Benutzer:

sudo mkdir /home/bluevps/ftp/files
sudo chown bluevps:bluevps /home/bluevps/ftp/files

Zeit für die vsftpd-Konfiguration

Jetzt ist es an der Zeit, vsftpd zu konfigurieren, um einen reibungslosen FTP-Zugriff zu gewährleisten. Mit den folgenden Befehlen kann ein Benutzer über eine lokale Shell Zugriff erhalten. Lesen Sie die Anweisungen und befolgen Sie die folgenden Schritte.

1. Öffnen Sie die Konfigurationsdatei und prüfen Sie, ob die Einstellungen den Anforderungen entsprechen:

sudo nano /etc/vsftpd.conf

Aktivieren Sie in derselben Datei das Schreiben, indem Sie die folgende Zeile auskommentieren:

write_enable=YES

2. Entfernen Sie außerdem das Kommentarzeichen vor der Zeile chroot_local_user, damit Benutzer auf ihr eigenes Verzeichnis beschränkt sind:

chroot_local_user=YES

3. Fügen Sie am Ende der Datei neue Werte hinzu. Damit wird jedem Benutzer sein eigenes FTP-Verzeichnis zugewiesen:

user_sub_token=$USER
local_root=/home/$USER/ftp

4. Begrenzen Sie nun den Portbereich für passive Verbindungen auf die Ports, die Sie in der Firewall freigegeben haben:

pasv_min_port=40000
pasv_max_port=50000

5. Aus Sicherheitsgründen sollte nur Benutzern aus einer Liste der Zugriff erlaubt werden. Fügen Sie dazu die folgenden Zeilen hinzu und speichern Sie die Änderungen:

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

6. Erstellen Sie anschließend die Benutzerliste und fügen Sie Ihren Benutzer hinzu:

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

Mit diesem Befehl überprüfen Sie den Inhalt der Liste:

cat /etc/vsftpd.userlist

Starten Sie zum Schluss den Daemon neu, damit alle Einstellungen wirksam werden:

sudo systemctl restart vsftpd

Arbeiten an der Sicherheit

1. Standardmäßig verschlüsselt FTP keine Daten. Hier helfen SSL/TLS-Zertifikate, die die Datensicherheit gewährleisten. Erstellen Sie zuerst ein Zertifikat:

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

Der Befehl enthält alle erforderlichen Elemente, damit die nächsten Schritte des Vorgangs ausgeführt werden können. Anschließend werden Sie aufgefordert, Ihre persönlichen Daten einzugeben. Dazu gibt es ein entsprechendes Feld.

2. Wenn das Zertifikat erstellt ist, öffnen Sie erneut die Konfigurationsdatei mit sudo nano /etc/vsftpd.conf. Suchen Sie die beiden Zeilen, die mit rsa_ beginnen, und ersetzen Sie sie durch:

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

3. Aktivieren Sie nun SSL und verbieten Sie anonyme SSL-Verbindungen. Geben Sie die folgenden Zeilen ein:

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

4. Fügen Sie außerdem die folgenden Zeilen hinzu: Die erste deaktiviert die SSL-Wiederverwendung (mit der viele FTP-Clients nicht zurechtkommen), die zweite erlaubt nur starke Verschlüsselung. Speichern Sie die Datei anschließend mit Strg+X, Y und Enter.

require_ssl_reuse=NO
ssl_ciphers=HIGH

5. Starten Sie vsftpd zum Schluss neu, um die neue Konfiguration zu aktivieren:

sudo systemctl restart vsftpd

Alles testen

Heutzutage werden Sie hauptsächlich auf Clients stoßen, die mit TLS-Konfigurationen arbeiten. Mit diesem Ansatz können Sie überprüfen, ob alles ordnungsgemäß funktioniert. Sie können die Verbindung mit Hilfe des FileZilla FTP-Clients selbst testen. So geht's:

 1. Starten Sie zunächst FileZilla und klicken Sie auf das rot umrandete Symbol. Klicken Sie auf die Schaltfläche „Neue Site“, um die Serverdaten einzugeben.

2. Geben Sie nun die Daten des zuvor eingerichteten Ubuntu-Servers in die entsprechenden Felder ein. Da die Konfiguration auf TLS setzt, wählen Sie die Option „Use explicit FTP over TLS“ (Explizites FTP über TLS verwenden).

 3. Klicken Sie anschließend auf die Schaltfläche „Connect“ (Verbinden), geben Sie das Passwort ein und klicken Sie auf „OK“.

4. Bestätigen Sie zum Schluss das SSL-Zertifikat Ihres FTP-Servers. Danach sollte das Stammverzeichnis mit der Testdatei auf dem Bildschirm angezeigt werden.

 5. Das war's schon! Sie können nun Dateien aus dem Internet von Ihrer Quelle auf den Ubuntu-FTP-Server übertragen. Das mag etwas kompliziert erscheinen, aber die klaren Befehle sollten Ihnen dabei helfen.

Fazit

Es ist ganz einfach, Dateien verschiedener Typen von Ihrem Computer auf den Ubuntu-FTP-Server zu übertragen. Dabei kommen SSL/TLS und TCP/IP zum Einsatz, die diese Methode sicher und zuverlässig machen.

Dieses Tutorial umfasst 6 einfache Schritte, um die Konfigurationen einzurichten und alles fertigzustellen.

1. Zuerst installieren Sie vsftpd und sichern die ursprüngliche Datei.

2. Dann stellen Sie sicher, dass der Zugriff auf FTP-Verbindungen durch die Firewall möglich ist.

3. Der nächste Schritt war die Erstellung eines Benutzerverzeichnisses mit den entsprechenden Zugriffsrechten.

4. Sobald dies erledigt ist, ist es Zeit für die vsftpd-Konfiguration.

5. Anschließend sichern Sie den FTP-Server.

6. Der letzte Schritt besteht darin, alles in FileZilla zu testen.

Sie sollten nun mehr über die Installation eines FTP-Servers wissen, also viel Erfolg beim Ausprobieren!

Blog