Website Erstellung/Optimierung
Webbasierte Software
Individuelle Programmierung

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:

Schritt-für-Schritt-Anleitung zur Installation von curlftpfs auf Debian 12

Hinweis: 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.

  1. 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
  2. Installation der benötigten Abhängigkeiten:

    Die folgenden Abhängigkeiten müssen installiert sein:

    • GLib Version 2
    • FUSE Library Development Headers
    • libcurl, bereitgestellt durch libcurl4-openssl-dev

    Diese können mit folgendem Befehl installiert werden:

    sudo apt-get install glib-2.0 libfuse-dev libcurl4-openssl-dev
  3. Entpacken des heruntergeladenen Pakets:

    Entpacken des heruntergeladenen Archivs:

    tar xf curlftpfs-0.9.2.tar.gz
  4. Konfiguration und Installation:

    In das entpackte Verzeichnis wechseln und die Installation durchführen:

    cd curlftpfs-0.9.2
    ./configure
    sudo make && sudo make install
  5. Ü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

Einrichtung der FTPS-Verbindung

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

Fehlerbehebung

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! 🚀

Previous Post