FTP-Server auf Raspbian Buster installieren

blue screen

Heute zeigen wir euch, wie Ihr ProFTPd auf eurem Raspberry Pi installiert, damit Ihr relativ simpel Dateien auf euren Webserver schieben könnt. Die Anleitung zur Installation des Webservers findet Ihr hier.

1. System updaten

Natürlich bringen wir als erstes mal wieder unser System auf den neusten Stand und tippen oder kopieren die guten alten Update-Befehle:

sudo apt-get update
sudo apt-get upgrade

2. ProFTPd installieren

Nun fakeln wir nicht lange und installieren den FTP-Dienst mit dem folgenden Befehl:

sudo apt install proftpd-basic

Das sollte selbst auf dem Raspi recht zügig gehen.

3. Konfiguration

So nun kommen wir zum eigentlichen Teil der Installation – die Konfiguration. Als erstes legen wir uns hierfür eine Konfigurationsdatei an, die bei Updates unangetastet bleibt. Hierfür machen wir uns das conf.d-Verzeichnis zu Nutze. Konfigurationen die hier gespeichert sind werden in die eigentliche proftpd.conf eingelesen.

Legen wir uns also unsere eigene Konfigurationsdatei im Verzeichnis conf.d an und schreiben folgendes in die angelegte Datei:

sudo nano /etc/proftpd/conf.d/custom.conf
# Ftp-Benutzer benötigen keine valide Shell
<Global>
    RequireValidShell off
</Global>
# IPv6 wird deaktiviert
UseIPv6 off
# Standartverzeichnis ist das Homeverzeichnis des FTP-Benutzers
DefaultRoot ~ ftpuser
# Login auf FTP-User beschränken
<Limit LOGIN>
    DenyGroup !ftpuser
</Limit>

Natürich nicht vergessen die Datei zu speichern und den FTP-Server neu zu starten.

sudo systemctl restart proftpd.service

4. SSL-verschlüsselte FTP-Verbindung

Da wir vorallem das Passwort nicht in Klartext übertragen möchten, erweitern wir unseren FTP-Server um SSL/TLS-Features und erstellen daher als erstes mal ein Zertifikat:

sudo apt install ssl-cert
sudo make-ssl-cert generate-default-snakeoil --force-overwrite

Anschliessend erstellen wir wieder eine Konfigurationsdatei in unserem Konfigurationsverzeichnis von ProFTPd mit dem einfachen Texteditor nano:

sudo nano /etc/proftpd/conf.d/tls.conf

und geben folgende Konfiguration ein:

<IfModule mod_tls.c>
        TLSEngine on
        TLSLog /var/log/proftpd/tls.log
        TLSProtocol TLSv1.2
        TLSRSACertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
        TLSRSACertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
        TLSVerifyClient off
        TLSRequired on
        TLSOptions NoSessionReuseRequired
</IfModule>

Anschliessend den ProFTPd neustarten:

sudo systemctl restart proftpd.service

5. FTP-Benutzer erstellen

Mit folgendem Befehl erstellen wir einen neuen FTP-Benutzer und geben ihm /var/www/upload als home-Verzeichnis. Auf dieses wird der Benutzer dann FTP-Zugriff erhalten

sudo adduser ftpuser --shell /bin/false --home /var/www/upload

6. Per FTP verbinden

Und nun nur noch mit FileZilla oder anderen FTP-Clients IP oder DNS-Name eingeben, mit den Credentials des Benutzers verbinden und Uploaden bis die Leitung brennt 🙂

Die mobile Version verlassen