Mit einem Raspberry Pi 5 lässt sich schnell ein FTP-Server einrichten, um Dateien im Netzwerk bereitzustellen oder von anderen Geräten auf den Pi hochzuladen. Für diese Anleitung wird der Dienst vsftpd verwendet, da er schlank, stabil und unter Raspberry Pi OS direkt über die Paketverwaltung verfügbar ist.
sudo-Rechtenhostname -I anzeigen. Diese Adresse brauchst du später für den Verbindungsaufbau mit dem FTP-Client.
| Begriff | Bedeutung |
|---|---|
| FTP | Ein älteres Protokoll zur Dateiübertragung im Netzwerk. |
| vsftpd | Ein weit verbreiteter und sicherheitsorientierter FTP-Server für Linux. |
| SFTP | Eine verschlüsselte Alternative über SSH, meist sicherer als klassisches FTP. |
FTP ist einfach einzurichten, aber standardmäßig nicht verschlüsselt. Für interne Testumgebungen ist es oft ausreichend. Für produktive oder internetseitig erreichbare Systeme sollte eher SFTP verwendet werden.
Öffne ein Terminal auf dem Raspberry Pi und aktualisiere zuerst die Paketlisten:
sudo apt update
sudo apt upgrade -y
Installiere anschließend den FTP-Dienst:
sudo apt install -y vsftpd
Danach kannst du prüfen, ob der Dienst aktiv ist:
sudo systemctl status vsftpd
active (running) erscheinen.
Bevor du Änderungen machst, solltest du die Standardkonfiguration sichern:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Öffne die Konfigurationsdatei:
sudo nano /etc/vsftpd.conf
Setze oder ergänze folgende Einträge:
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40010
ssl_enable=NO
anonymous_enable=NO: anonyme Logins werden deaktiviertlocal_enable=YES: lokale Linux-Benutzer dürfen sich anmeldenwrite_enable=YES: Schreiben und Hochladen wird erlaubtchroot_local_user=YES: Benutzer bleiben in ihrem Verzeichnis eingeschlossenpasv_enable=YES: aktiviert den Passivmodus für viele FTP-Clients40000 bis 40010 in der Firewall beziehungsweise im Router ebenfalls freigegeben werden.
Lege einen Benutzer für den FTP-Zugriff an:
sudo adduser ftpuser
Vergib beim Anlegen ein Passwort. Mit diesem Benutzer meldest du dich später im FTP-Client an.
Erzeuge einen Ordner für den FTP-Zugriff und einen Unterordner für Uploads:
sudo mkdir -p /home/ftpuser/ftp/upload
sudo chown nobody:nogroup /home/ftpuser/ftp
sudo chmod a-w /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/upload
Diese Struktur wird oft verwendet, damit der Benutzer zwar in einem begrenzten Bereich arbeitet, aber nur im Unterordner upload schreiben darf.
Ergänze in der Datei /etc/vsftpd.conf zusätzlich folgende Zeilen:
user_sub_token=$USER
local_root=/home/$USER/ftp
In nano speicherst du mit:
Strg + O zum SpeichernEnter zum BestätigenStrg + X zum BeendenDanach den Dienst neu starten und beim Booten aktivieren:
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
Falls auf dem Raspberry Pi ufw verwendet wird, gib die FTP-Ports frei:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:40010/tcp
sudo ufw reload
Teste die Verbindung mit einem FTP-Client wie zum Beispiel FileZilla.
21ftpuserupload schreibst.
Die eigentliche Installation erfolgt zwar per Terminal, aber einige Schritte lassen sich grafisch kontrollieren.
/home/ftpuser wechselnftp und upload existierensudo systemctl status vsftpd prüfenuploadZur Fehlersuche helfen diese Befehle:
sudo journalctl -u vsftpd
sudo tail -f /var/log/vsftpd.log
Mit vsftpd lässt sich auf einem Raspberry Pi 5 schnell ein FTP-Server einrichten. Für einfache Dateiübertragungen im lokalen Netzwerk reicht das oft aus. Wer mehr Sicherheit benötigt, sollte statt FTP lieber SFTP verwenden.