Komfortabler Dateitransfer mit GFTP

Aus LinuxUser 12/2004

Komfortabler Dateitransfer mit GFTP

© UPS

Mehr als FTP

Ob automatisch per Skript oder manuell mit Hilfe einer komfortablen grafischen Oberfläche: GFTP bietet für jede Anwendung das passende Werkzeug und unterstützt dabei neben FTP alle weiteren gängigen Protokolle zum Übertragen von Dateien.

Mit GFTP übertragen Sie Dateien via FTP, HTTP und SSH oder laden simultan von mehreren Servern Dateien herunter. Zahlreiche weitere durchdachte Features wie Drag&Drop, intelligente Nachfrage bei bereits vorhandenen Dateien, Direkteingabe von FTP-Befehlen sowie die direkte Übertragung zwischen zwei FTP-Servern erleichtern den täglichen Transfer von Dateien.

Der FTPClient GFTP von Brian Masney unterstützt eine große Anzahl von Übertragungsprokollen: FTP, HTTP, SSH/SFTP sowie HTTPS und FTPS. Bei FTPS verschlüsselt GFTP nur die Steuerungsverbindung via SSL, dass heißt: Das Programm überträgt FTP-Befehle mit Parametern wie dem Passwort für einen FTP-Zugang verschlüsselt, Dateien jedoch nicht.

Das Programm liegt in zwei unterschiedlichen Varianten vor: Die Variante gftp-gtk erlaubt das komfortable Übertragen von Dateien via grafischer Oberfläche, während gftp-text das Herz von Shell-Enthusiasten höher schlagen lässt. Starten Sie stattdessen gftp wird je nach Verfügbarkeit von X11 die grafische oder die Textvariante gestartet.

Verwenden Sie Suse Linux, dann spielen Sie das Paket gftp via YaSTSoftware installieren oder löschen in das System ein. Die in SuSE Linux 9.1 enthaltene Version 2.0.16-44 startete im Test trotz Vorhandensein der Datei mit der deutschsprachigen Übersetzung mit einer englischsprachigen Oberfläche. Das Programm suchte die Übersetzungsdatei nicht in dem Verzeichnis, in dem sie YaST installierte.

Suchen Sie eine einfache und schnelle, im Sinne der automatischen Paketverwaltung vielleicht nicht ganz einwandfreie Lösung für das Problem, führen Sie den Befehl ln -s /opt/gnome/share/locale/de/LC_MESSAGES/gftp.mo /usr/share/locale/de/LC_MESSAGES/gftp.mo aus.

Andernfalls kompilieren Sie die Software einfach selbst: Damit das Kompilieren klappt, müssen die entsprechenden Werkzeuge und Entwickler-Dateien installiert sein. Dazu installieren Sie mit Hilfe von YaST die Selektionen C/C++ Compiler und Werkzeuge sowie Gnome Entwicklung.

Abbildung 1: Kompilieren Sie GFTP unter SuSE-Linux selbst, erhalten Sie ohne Tricks eine deutschsprachige Oberfläche.

Abbildung 1: Kompilieren Sie GFTP unter SuSE-Linux selbst, erhalten Sie ohne Tricks eine deutschsprachige Oberfläche.

Entpacken Sie mit tar -xjf gftp-2.0.17.tar.bz2 oder mit Hilfe der Desktop-Umgebung Ihrer Wahl das Quelltextarchiv von der Web-Seite des Projektes [1]. Wechseln Sie in das Verzeichnis gftp-2.0.17 und wenden Sie den bekannten Dreisatz ./configure ; make ; su -c "make install an.

Standardmäßig installiert make install die ausführbaren Dateien von GFTP nach /usr/local/bin. Dort findet Linux Sie beim Standardsuchpfad vor der regulär installierten Version. Auf diese Weise rufen Paketmanagmentsystem eingerichteten Menüeinträge automatisch die neue, selbstkompilierte Version des Programms auf. Stellt Suse ein fehlerfreies Paket zur Verfügung, deinstallieren Sie mit su -c "make uninstall" ihren eigene Version.

Unter Debian Linux installieren Sie GFTP, im Test mit Debian Sarge die Version 2.0.17-5 mit dem Befehl su -c "apt-get install gftp" oder mit einem Paketmanager Ihrer Wahl wie Synaptic oder KPackage. Das Metapaket gftp sorgt automatisch für die Installation beider Varianten von GFTP, die Sie als Paket gftp-gtk oder gftp-text natürlich auch einzeln installieren können.

Die paketierte Version für Debian enthält zur Zeit keine SSL-Unterstützung (siehe 2). Wollen Sie FTPS oder HTTPS verwenden, dann kompilieren Sie die Software wie oben beschrieben ganz einfach selbst. Installieren jedoch vorher mit dem Paket libssl-dev die Entwicklerdateien zu OpenSSL.

Unter Debian Woody installieren Sie analog die Version 2.0.11-1.

Durchdacht

Einmal installiert präsentiert sich das Programm in der klassischen Aufteilung eines FTP-Clients mit Verzeichnislisten für das lokale und entfernte Verzeichnis, einem Status-Bereich, der Informationen zu laufenden Übertragungen anzeigt, und einen Bereich, in dem das Programm ein Protokoll seiner Aktivitäten anzeigt. Eine etwas gewöhnungsbedürftige Site-Verwaltung ist ebenso vorhanden wie praktische Kontextmenüs mit dem Zugriff auf häufig benötigte Funktionen.

GFTP belästigt Sie, nicht für jede Datei mit einer Nachfrage, was mit der Datei geschehen soll, falls auf beiden Computern Dateien mit gleichen Namen existieren. Stattdessen prüft es vorab auf Namenskonflikte und fragt einmal nach, was mit den betreffenden Dateien geschehen soll. In diesem Dialog legen Sie für jede Datei einzeln oder für alle auf einmal eine Aktion fest. Dabei unterstützt das Programm das Überschreiben einer Datei ebenso wie das Fortsetzen einer unterbrochenen Dateiübertragung.

Abbildung 2: Bei gleichen Dateien bietet die Software dem Anwender passende Aktionen an.

Abbildung 2: Bei gleichen Dateien bietet die Software dem Anwender passende Aktionen an.

Standardmäßig schlägt GFTP vor, Dateiübertragungen fortzusetzen. Mit der Option Standardmässig überschreiben unter FTPOptionenAllgemein ändern Sie dieses Verhalten.

Abbildung 3: Diese Optionen steuern das allgemeine Verhalten des Programms – allerdings sind nicht alle Überstzung immer gelungen.

Abbildung 3: Diese Optionen steuern das allgemeine Verhalten des Programms – allerdings sind nicht alle Überstzung immer gelungen.

Die Option Erlaubte Kommandoeingabe im GUI ermöglicht die Eingabe von FTP-Befehlen. Auf diese Weise kombinieren Sie die Vorteile einer grafischen Oberfläche mit den Vorteilen der direkten Eingabe wie bei einem Kommandozeilen-Client. Der Wikipedia-Artikel zum FTP-Protokoll liefert einen guten Überblick, welche Befehle es gibt [3].

Abbildung 4: Das beste aus zwei Welten: Navigieren Sie mit der Maus in das Zielverzeichnis und schicken Sie dann den gewünschten FTP-Befehl an den Server.

Abbildung 4: Das beste aus zwei Welten: Navigieren Sie mit der Maus in das Zielverzeichnis und schicken Sie dann den gewünschten FTP-Befehl an den Server.

In der Konfigurationsdatei des Programms legen Sie fest, welches Programm GFTP zum Anzeigen eines bestimmten Dateityps verwendt. Einen grafischen Konfigurationsdialog gibt es nicht. Öffnen Sie die Datei .gftp/gftprc aus Ihrem Home-Verzeichnis in einem Editor. Suchen Sie dann nach den Zeilen, die mit ext= beginnen.

Abbildung 5: Welches Programm einer Datei bestimmten Typs zugeordnet ist, bestimmen Sie in der Konfigurationsdatei.

Abbildung 5: Welches Programm einer Datei bestimmten Typs zugeordnet ist, bestimmen Sie in der Konfigurationsdatei.

Jede Zeile ist nach dem gleichen Muster aufgebaut: Nach ext= kommt die Dateiendung beginnend mit einem Punkt, dann die zu verwendende XPM-Bilddatei, dann der Übertragungsmodus, B für binär und A für ASCII, und zuletzt der Name und gegebenenfalls der Pfad des Programms, das die entsprechende Datei anzeigen oder abspielen soll. Bekannte Dateitypen für Bilder, Musikdateien und HTML-Dokumente sind bereits vordefiniert. Tragen Sie für diese jeweils ihr favorisiertes Anzeigeprogramm ein. Neue Dateitypen erstellen Sie leicht durch das Kopieren und Abändern einer bestehenden Zeile.

Datei-Übertragung

Etwas umständlich ist es, nacheinander aus verschiedenen Verzeichnissen mehrere Dateien zum Download auszuwählen. Das klappt nur, wenn Sie Starte Dateiübertragungen deaktivieren, damit GFTP nicht gleich anfängt, die Dateien zu übertragen. Dann wählen Sie alle Dateien und aktivieren diese Option wieder, damit das Programm der Transfer beginnt. Hier wäre die Möglichkeit schön, an einem bereits angefangenen Vorgang weitere Dateien anzuhängen.

Wollen Sie von mehreren Servern Dateien laden, unterstützt GFTP Sie hingegen vorbildlich. Trennen Sie einfach nach dem Start der Übertragung die Verbindung zum aktuellen Server, und bauen Sie die Verbindung zu einem anderen Server auf. Das Programm setzt die bereits gestartete Dateiübertragung währendessen fort.

Ist die Einstellung Jeden Transfer einzeln aktiviert, arbeitet der FTP-Cleint die Downloads nacheinander ab. Ansonsten lädt er von jedem Server, von dem Sie eine Übertragung gestartet haben, gleichzeitig eine Datei. Dies lohnt sich nur, wenn Sie über eine schnelle Internet-Verbindung verfügen.

GFTP unterstützt auch die direkte Übertragung einer Datei zwischen zwei FTP-Servern. Die beteiligten Server müssen allerdings das FXP-Protokoll unterstützen. Nehmen Sie für den direkten Transfer wie gewohnt eine Verbindung mit dem FTP-Server auf, der Dateien empfangen soll. Dann wählen Sie LokalÖffne URL…, um die lokale Seite mit dem FTP-Server zu verbinden, mit dem Sie Dateien senden möchten.

Versuchen Sie eine Verbindung zu trennen, solange das Programm noch mit dem Aufbau oder dem Einlesen des Verzeichnisinhalts beschäftigt ist, wies das Programm im Anzeigebereich für das Protokoll leicht zu übersehen darauf hin, vorher den Stopp-Schalter zu klicken. Wer diesen Hinweis nicht gleich fand, wunderte sich, warum das Programm nicht reagiert. Leichter zu durchschauen wäre es, wenn GFTP in einem solchen Fall annimmt, dass der Anwender weiß, was er tut, und ohne weiteren Hinweis die Verbindung trennt.

Passwörter sicher verwahren

Wollen Sie ein komplettes Verzeichnis mitsamt aller Unterverzeichnisse und Dateien automatisch via Skript übertragen lassen, verwenden Sie die Shell-Variante von GFTP. Mit dem Befehl help erhalten Sie eine Übersicht über alle unterstützten Befehle der Shell-Variante des Programms Geben Sie help befehlsname ein, um eine nähere Erklärung zu einem bestimmten Befehl zu erhalten.

Verwenden Sie zum Beispiel einen Befehl wie gftp -d ftp://ihrbenutzername:ihrpasswort@ihre-domain.de/verzeichnis-mit-den-html-dateien, um die Daten Ihres Webhosting-Accounts zu sichern. Mit einem entsprechenden Cronjob sorgen Sie für ein regelmäßiges Backup.

Setzen Sie für ein solches Shell-Skript unbedingt restriktive Rechte, um Ihr FTP-Passwort zu schützen. Ein Skript, das ein Passwort enthält, sollte nur für Sie selbst les- und ausführbar sein. Im Zweifelsfall lassen Sie das Passwort sicherheitshalber weg. Sie müssen in diesem Fall jedesmal wieder eingeben und können das Skript nicht als Cron-Job laufen lassen.

Ähnliches gilt für die Datei .gftp/bookmarks, wenn Sie in der grafischen Variante Lesezeichen mit Passwörtern speichern. Im Test legte GFTP diese Datei denn auch mit entsprechend restriktiven Rechten an. Obwohl die Software die Passwörter verschlüsselt, ist es am sichersten, Passwörter nicht zu speichern.

Flexibel

Das Programm GFTP unterstützt neben den Protokollen FTP auch HTTP und SSH. Für HTTP geben Sie bei im Hauptfenster Rechner einfach eine URL an, die mit http:// beginnt, für SSH verwenden Sie eine URL, die mit ssh2:// beginnt. Das Programm unterstützt ausschließlich Version 2 des SSH-Protokolls.

FTP- und HTTP-Übertragungen funktionieren ohne weitere Konfiguration, sofern Sie keinen Proxy-Server verwenden. Damit SSH-Übertragungen funktionieren, sind jedoch unter FTPOptionenSSH ein paar Einstellungen nötig.

Der FTP-Client verwendet SFTP als Übertragungsprotokoll. Dazu muss sichergestellt sein, das sich auf dem entfernten Server der SFTP-Server im Pfad befindet. Aktivieren Sie bei einem Server, der dies unterstützt, am besten die Option Verwende SSH2 SFTP Funktion. Auch hier kommt wieder ein verbessertes Dateiübertragungsverfahren zum Einsatz.

Im Test mit einer SSH-Server-Installation unter Debian Linux klappten beide Varianten. Bei Verwendung der SSH2-SFTP-Funktion schlug jedoch der erste Verbindungsaufbau fehl, weil die Secure Shell zunächst nachfragte, ob sie der Authentizität des Servers vertrauen soll. Die entsprechende Meldung des SSH-Server interpretierte GFTP als Fehler. Jede weitere Verbindung klappte, da SSH in einer Sitzung nur einmal nachfragt.

Wollen Sie SFTP zum sicheren Übertragen von Dateien verwenden wollen, lohnt es sich, auf Version 2.0.18 von GFTP zu warten. Bereits im aktuellen CVS-Snapshot von GFTP ist das beschriebene Problem laut Aussage des Autors bereits behoben. Auch andere Probleme, zu denen die FAQ zu GFTP geignete Workarounds aufzeigt, sollen behoben sein. So ist es in keinem Fall mehr notwendig, den Pfad zum SFTP-Server anzugeben. SFTP soll in jedem Fall ohne weitere Konfiguration funktionieren. Im kurzen Test mit einer Prerelease der Version 2.0.18 des Programms klappte die SSH-Verbindung in der Tat ohne weitere Einstellungen.

Abbildung 6: Die englischsprachige FAQ zu GFTP beantwortet offene Fragen, zum Beispiel zum Thema SSH-Verbindungen.

Abbildung 6: Die englischsprachige FAQ zu GFTP beantwortet offene Fragen, zum Beispiel zum Thema SSH-Verbindungen.

Die sichere Übertragung von Dateien via SFTP bietet sich gerade beim Hochladen der eigenen Web-Seite an. Ein SFTP-Client übertragt, anders als ein FTP-Client, das Passwort und die Daten verschlüsselt. Das geht jedoch nur, wenn der Provider sowohl einen SSH-Zugang als auch die SFTP-Funktionalität anbietet.

Fazit

Der FTP-Client GFTP überzeugt durch seinen großen Funktionsumfang und seine kleinen durchdachten Details, die dem Anwender beim Übertragen von Dateien behilflich sind. Es gibt jedoch noch Entwicklungspotential: Die Handhabung des Stopp-Schalters ist nicht immer intuitiv. Zur Konfiguration der Zuordnung von Mime-Type und Anzeigeprogramm bietet sich eine grafische Oberfläche oder die Unterstützung der in Entwicklung befindlichen Standards für eine gemeinsame MIME-Datenbank des Free-Desktop-Projektes an [3].

Der Autor

Martin Steigerwald hat Linux schon auf seinem Amiga 4000 installiert. Er verwendet Linux – vorzugsweise Debian Linux – seit einigen Jahren – aktuell auf einem IBM ThinkPad-Notebook – und findet immer noch immer mehr Gefallen daran. Außerdem schreibt er für das Amiga-Magazin (siehe http://www.amiga-magazin.de).

Glossar

FTP

File Transfer Protocol. Netzwerk-Protokoll zum Übertragen von Dateien. Ein FTP-Client überträgt Passwörter und Daten unverschlüsselt an den Server. FTP benutzt zwei Verbindungen. Eine für die eigentliche Datenübertragung und eine für die Steuerung der Verbindung.

Client

(Engl. Kunde) Viele Protokolle unterscheiden zwischen einem Server und einem Client. Der Server stellt den Dienst, zum Beispiel FTP, zur Verfügung, den der Client dann in Anspruch nimmt.

HTTP

Hypertext Transfer Protocol. Zustandsloses Netzwerk-Protokoll zur Übertragung von Daten, das primär zur Übertragung von Web-Seiten verwendet wird.

SSH

Secure Shell. Programm und Netzwerk-Protokoll, mit dessen Hilfe man sich über eine verschlüsselte Verbindung auf einem entfernten Rechner einloggen kann. SSH2 ist die aktuelle Version des Protokolls. SSH1 sollte aufgrund einer Schwachstelle, die einem Angreifer ermöglicht, eine SSH-Sitzung auszuspähen, nicht mehr verwenden.

SFTP

Secure FTP. FTP-Protokoll, das Dateien verschlüsselt über eine SSH-Verbindung übertragt. SSH selbst kann keine Dateien übertragen. Seit Version 2 von SSH ersetzt dieses SFTP-Protokoll das nicht dokumentierte SCP1-Protokoll zur Übertragung von Dateien.

SSL

Secure Sockets Layer. Ursprünglich von der Firma Netscape entwickeltes Protokoll, das via Tunneling verschlüsselte Datenübertragung ermöglicht. Das Tunneling erlaubt, die Daten eines Netzwerk-Protokolls eingebettet in einem anderen Netzwerk-Protokoll zu übertragen.

HTTPS

Eine über SSL getunnelte und damit verschlüsselte Variante des HTTP-Protokolls.

FTPS

Eine über SSL getunnelte und damit verschlüsselte Variante des FTP-Protokolls.

Sarge

Debian Linux gibt es in drei verschiedenen Versionen: Die letzte als stabil (stable) bezeichnete Version (zur Zeit: Debian Woody), die mit im Test (testing) befindlichen Softwarepaketen (Sarge), und die als potentiell instabil (unstable) geltende Version (Sid). Die Bezeichnungen sind Namen von Charakteren aus dem Film Toy Story. Siehe auch http://www.debian.de/releases/.

FXP

File Exchange Protocol. Eine Erweiterung des FTP-Protokolls, die es erlaubt, vom FTP-Client gesteuert Dateien direkt zwischen zwei FTP-Servern zu übertragen, ohne die Datei vorher auf dem Client-Computer zwischen zu lagern.

Infos

[1] Web-Seite des GFTP-Projekts: http://www.gftp.org

[2] GFTP-Binär-Pakete für Debian ohne SSL-Unterstützung: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=251121

[2] FAQ zu GFTP: http://www.gftp.org/readme.html

[3] Wikipedia-Artikel zu FTP: http://de.wikipedia.org/wiki/FTP

[4] Shared MIME Database: http://www.freedesktop.org/Standards/shared-mime-info-spec

[5] MIME actions: http://www.freedesktop.org/Standards/mime-actions-spec

LinuxUser 12/2004 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben