Der Raspberry Pi eignet sich wegen seines minimalen Stromverbrauchs gut als dauerhaft laufender Datei-Server. In diesem Artikel zeige ich euch zwei Wege: SFTP (die sichere, empfohlene Methode) und ProFTPD (klassisches FTP für Anwendungsfälle ohne SSH).
SFTP vs. FTP – welches sollte ich verwenden?
SFTP (SSH File Transfer Protocol) ist die moderne und sichere Methode für Dateiübertragungen. Es verschlüsselt die Verbindung vollständig und ist auf jedem Raspberry Pi mit aktiviertem SSH ohne zusätzliche Installation verfügbar.
FTP (File Transfer Protocol) überträgt Daten und Passwörter unverschlüsselt und sollte nur noch in gesicherten Heimnetzwerken ohne Internetzugang verwendet werden.
Empfehlung: Verwendet SFTP. Nur wenn ihr eine spezifische Anwendung habt, die explizit FTP benötigt, ist ProFTPD sinnvoll.
Methode 1: SFTP (empfohlen, keine Installation nötig)
SFTP ist sofort verfügbar sobald SSH aktiviert ist. Verbindung über Windows mit WinSCP:
- WinSCP herunterladen und installieren
- Neues Verbindungsprofil: Protokoll SFTP, Hostname = IP des Pi, Benutzer + Passwort eingeben
- Verbinden – fertig, Dateimanager öffnet sich
Unter Linux/macOS direkt mit scp oder sftp:
|
1 2 3 4 5 6 7 8 |
# Datei auf den Pi hochladen scp meine-datei.txt pi@raspberrypi.local:/home/pi/ # Datei vom Pi herunterladen scp pi@raspberrypi.local:/home/pi/meine-datei.txt ./ # Interaktive SFTP-Sitzung sftp pi@raspberrypi.local |
Methode 2: ProFTPD-Server installieren und einrichten
Für klassisches FTP – z.B. wenn ältere Geräte oder Software kein SFTP unterstützen:
Installation
|
1 2 |
sudo apt update && sudo apt upgrade -y sudo apt install proftpd-basic -y |
Während der Installation wählt ihr „Standalone“ als Betriebsmodus.
Konfiguration
Öffnet die Hauptkonfigurationsdatei:
|
1 |
sudo nano /etc/proftpd/proftpd.conf |
Ändert den ServerName auf einen sinnvollen Namen:
|
1 |
ServerName "Raspberry Pi FTP" |
Speichern mit STRG+X, Y und Enter.
Benutzerkonfiguration (empfohlen)
Legt eine separate Konfigurationsdatei an, die bei Updates nicht überschrieben wird:
|
1 |
sudo nano /etc/proftpd/conf.d/custom.conf |
Fügt folgenden Inhalt ein – dadurch können sich nur Mitglieder der Gruppe „ftpuser“ anmelden und jeder Benutzer ist auf sein Heimverzeichnis beschränkt:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
# Kein gültiges Login-Shell nötig <global> RequireValidShell off </global> # Benutzer auf Heimverzeichnis beschränken DefaultRoot ~ ftpuser # Nur ftpuser-Gruppe darf sich anmelden <limit LOGIN> DenyGroup !ftpuser </limit> |
FTP-Benutzer anlegen
Erstellt einen dedizierten FTP-Benutzer ohne Login-Shell:
|
1 2 |
sudo adduser ftpuser --shell /bin/false --home /var/www/upload sudo usermod -aG ftpuser ftpuser |
Upload-Verzeichnis anlegen und Rechte setzen:
|
1 2 |
sudo mkdir -p /var/www/upload sudo chown ftpuser:ftpuser /var/www/upload |
ProFTPD starten und aktivieren
|
1 2 3 |
sudo systemctl restart proftpd sudo systemctl enable proftpd sudo systemctl status proftpd |
FTP-Verbindung testen
Von einem anderen Rechner im Netzwerk mit einem FTP-Client wie FileZilla verbinden:
- Host: IP-Adresse des Pi
- Benutzername: ftpuser
- Passwort: euer gewähltes Passwort
- Port: 21
FTP-Port in der FritzBox freigeben (für Internetzugriff)
Wenn ihr von außerhalb eures Heimnetzes auf den FTP-Server zugreifen wollt, müsst ihr Port 21 in eurer FritzBox weiterleiten:
- FritzBox-Oberfläche öffnen: http://fritz.box
- Internet → Freigaben → Portfreigaben → Gerät für Freigaben hinzufügen
- Raspberry Pi auswählen, TCP-Port 21 weiterleiten
Wichtig: FTP überträgt Passwörter im Klartext. Für den Internetzugriff solltet ihr zwingend SFTP (Port 22) verwenden statt FTP. Alternativ FTPS (FTP über TLS) in ProFTPD konfigurieren.
Fehlerbehebung
Fehler: „unable to register memcache SSL session cache“
|
1 |
sudo nano /etc/proftpd/modules.conf |
Vor die Zeile LoadModule mod_tls_memcache.c eine Raute setzen:
|
1 |
#LoadModule mod_tls_memcache.c |
Danach ProFTPD neu starten:
|
1 |
sudo systemctl restart proftpd |
