Heutzutage wird Wert auf sichere Verbindungen wie SFTP (SSH) oder andere verschlüsselte Dienste gelegt. Aber manchmal muss es eben doch noch das veraltetet FTPS sein, besonders wenn der Webspace-Anbieter keine SSH-Unterstützung bietet – wie z.B. in kleineren Paketen bei All-Inkl. Hier sei noch erwähnt, dass von FTP komplett ohne Verschlüsselung auf jeden Fall abzuraten ist!
Hier zeige ich, wie eine FTPS-Verbindung auf einem Debian 12 (Bookworm) Server eingerichtet und ins Dateisystem eingebunden werden kann. Dazu kommt das kleine Tool curlftpfs
zu Einsatz, dass eine FTPS-Verbindung direkt in das Dateisystem mounten kann.
Obwohl curlftpfs
aus den Standardquellen verschwunden ist, da es nicht mehr gepflegt wird, kann dies relativ einfach nachinstalliert werden. Es erfüllt seinen Dienst für die Fälle, in denen es keine anderen Methoden gibt, immer noch problemlos. Leider reicht ein einfaches apt install curlftpfs
nicht mehr aus, wenn das Paket nicht in den Standardquellen vorhanden ist. Eine Möglichkeit, dies dennoch zu installieren, zeigt die folgende Anleitung:
curlftpfs
auf Debian 12Hinweis: Einige der folgenden Befehle müssen als Root ausgeführt werden oder alternativ, wie in diesem Beispiel, mit sudo
, falls das auf eurem System eingerichtet ist.
Download des curlftpfs
Pakets:
Das curlftpfs
Paket von einer vertrauenswürdigen Quelle herunterladen:
wget https://src.fedoraproject.org/repo/pkgs/curlftpfs/curlftpfs-0.9.2.tar.gz/b452123f755114cd4461d56c648d9f12/curlftpfs-0.9.2.tar.gz
Installation der benötigten Abhängigkeiten:
Die folgenden Abhängigkeiten müssen installiert sein:
libcurl4-openssl-dev
Diese können mit folgendem Befehl installiert werden:
sudo apt-get install glib-2.0 libfuse-dev libcurl4-openssl-dev
Entpacken des heruntergeladenen Pakets:
Entpacken des heruntergeladenen Archivs:
tar xf curlftpfs-0.9.2.tar.gz
Konfiguration und Installation:
In das entpackte Verzeichnis wechseln und die Installation durchführen:
cd curlftpfs-0.9.2
./configure
sudo make && sudo make install
Überprüfung der Installation:
Die Installation kann überprüft werden, indem die Version von curlftpfs
angezeigt wird:
curlftpfs --version
Die Ausgabe sollte wie folgt aussehen:
curlftpfs 0.9.2 libcurl/8.5.0 fuse/2.9
Nach der erfolgreichen Installation kann eine FTPS-Verbindung mit dem folgenden Skript eingerichtet werden:
#!/bin/bash
# set mountpoint where to place the ftps connection
mountpoint=/var/www/mountpoint/
# unmount previous monted folders at this mountpoint
umount $mountpoint
# mount the new ftps connection to the given mountpoint folder
curlftpfs -o ssl ftp://[user]:[password]@[user].kasserver.com:21/ $mountpoint
Das Skript z.B. als mountscript.sh
abspeichern, es ausführbar machen und anschließend ausführen:
chmod +x mountscript.sh
./mountscript.sh
Sollte bei der Verbindung folgende Fehlermeldung auftreten:
Error connecting to ftp: SSL: no alternative certificate subject name matches target host name 'domain.de'
Liegt das daran, dass für die angegebene Domain kein entsprechendes Zertifikat für die FTPS-Verbindung vorliegt. Bei All-Inkl gibt es für den Zugriff per FTP(S) auf die normale Webspace-Domain eine alternative FTP-Adresse im KAS. Diese Adresse setzt sich aus dem Nutzernamen und .kasserver.com
zusammen, z.B. abcd.kasserver.com
. Es muss also ggf. die Adresse für den FTPS-Server im Skript abgeändert werden.
Wurde das Skript erfolgreich ausgeführt, werden die Dateien des gemounteten FTPS-Servers im Verzeichnis, das als Mountpoint festgelegt wurde, aufgelistet.
Viel Spaß beim Einrichten! 🚀