📁 FTP-Server installieren (vsftpd)

📁 Install FTP Server (vsftpd)

In diesem Tutorial installieren und konfigurieren wir einen FTP-Server mit vsftpd (Very Secure FTP Daemon) auf Ubuntu/Debian. Schritt für Schritt — vom Installieren bis zum Testen.

1

vsftpd installieren

Zuerst aktualisieren wir die Paketlisten und installieren vsftpd:

Terminal
sudo apt update
sudo apt install vsftpd -y

Überprüfe, ob vsftpd installiert wurde:

Terminal
vsftpd -v
# Ausgabe z.B.: vsftpd: version 3.0.5
2

vsftpd konfigurieren

Erstelle zuerst ein Backup der originalen Konfigurationsdatei und bearbeite sie dann:

Terminal
# Backup erstellen / Create backup
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

# Konfigurationsdatei bearbeiten / Edit configuration file
sudo nano /etc/vsftpd.conf

Setze folgende Einstellungen in der Datei /etc/vsftpd.conf:

/etc/vsftpd.conf
# Anonymen Zugriff deaktivieren / Disable anonymous access
anonymous_enable=NO

# Lokale Benutzer erlauben / Allow local users
local_enable=YES

# Schreibzugriff erlauben / Enable write access
write_enable=YES

# Benutzer in ihrem Home-Verzeichnis einsperren
# Chroot users to their home directory
chroot_local_user=YES
allow_writeable_chroot=YES

# Lokale umask (Standard-Dateiberechtigungen)
# Local umask (default file permissions)
local_umask=022

# Passive Mode Ports festlegen / Set passive mode ports
pasv_min_port=30000
pasv_max_port=31000

# Banner-Nachricht / Banner message
ftpd_banner=Willkommen auf dem FTP-Server!
3

FTP-Benutzer erstellen

Erstelle einen dedizierten Benutzer für den FTP-Zugang:

Terminal
# Neuen Benutzer erstellen / Create new user
sudo adduser ftpuser

# FTP-Verzeichnis erstellen / Create FTP directory
sudo mkdir -p /home/ftpuser/ftp/upload

# Berechtigungen setzen / Set permissions
sudo chown nobody:nogroup /home/ftpuser/ftp
sudo chmod a-w /home/ftpuser/ftp

# Upload-Ordner dem Benutzer zuweisen / Assign upload folder to user
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/upload

Der Benutzer ftpuser kann jetzt Dateien im Ordner /home/ftpuser/ftp/upload/ hoch- und herunterladen, ist aber in seinem Home-Verzeichnis eingesperrt (Chroot).

4

Firewall-Ports öffnen

Öffne die notwendigen Ports in der UFW-Firewall:

Terminal
# FTP-Ports öffnen / Open FTP ports
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp

# Passive Mode Ports öffnen / Open passive mode ports
sudo ufw allow 30000:31000/tcp

# Firewall-Status prüfen / Check firewall status
sudo ufw status

Port 21 ist der FTP-Kontrollkanal, Port 20 wird für den Datentransfer im Active Mode verwendet. Die Ports 30000-31000 sind für den Passive Mode.

5

Dienst starten & aktivieren

Starte vsftpd und aktiviere den Dienst beim Systemstart:

Terminal
# Dienst neu starten (lädt Konfiguration neu)
# Restart service (reloads configuration)
sudo systemctl restart vsftpd

# Dienst beim Systemstart aktivieren / Enable at boot
sudo systemctl enable vsftpd

# Status prüfen / Check status
sudo systemctl status vsftpd

Du solltest active (running) in der Ausgabe sehen. Damit läuft dein FTP-Server!

6

Verbindung testen

Teste die Verbindung von einem anderen Rechner oder lokal:

Per Terminal:

Terminal
# Lokal testen / Test locally
ftp localhost

# Von einem anderen Rechner / From another machine
ftp DEINE-SERVER-IP

# Einloggen mit: ftpuser und dem gewählten Passwort
# Login with: ftpuser and the chosen password

Mit FileZilla (GUI):

Lade FileZilla herunter und verbinde dich mit:

FileZilla
Host: DEINE-SERVER-IP
Port: 21
Protokoll: FTP
Benutzer: ftpuser
Passwort: (dein gewähltes Passwort)
💡

Tipp: SFTP statt FTP

FTP überträgt Daten unverschlüsselt — auch Passwörter! Für produktive Umgebungen solltest du stattdessen SFTP (SSH File Transfer Protocol) verwenden, das automatisch mit einem SSH-Server verfügbar ist. SFTP verschlüsselt alle Daten und benötigt keinen separaten FTP-Server. Schau dir unser SSH-Server Tutorial an!

⚠️

Warnung / Warning

Stelle sicher, dass du anonymous_enable=NO gesetzt hast, damit keine unautorisierten Benutzer auf deinen Server zugreifen können. Ändere außerdem immer das Standard-Passwort und nutze starke Passwörter.