Datum: | ältere Artikel

Heim-FTP-Server-Logo

Der erste Teil befasst sich um das Funktionsprinzip des FTP-Servers, um Definitionen, aktiver und passiver Verbindungsmodus und Transfermodi. Der 2. Teil wird tiefer in die Thematik einsteigen, ist aber optional und damit keine Voraussetzung für den 3. Teil, in dem es ausschließlich um die Fehlersuche gehen wird. Hier werden dann auch die Themen “FTP-Server hinter Router” und “FTP-Server und Firewall” behandelt.

 

Inhalt

Teil 1: Einsteiger

1. Vorbemerkungen
1.1. Systemvoraussetzungen
1.2. Testplattform
2. FTP – eine Definition
2.1. Wozu FTP?
2.2. Funktionsprinzip
2.3. Aktiver Verbindungs-Modus
2.4. Passiver Verbindungs-Modus
2.5. Transfermodi
2.6. Authentifizierung
2.7. Sicherheit
3. Eigener DNS-Servername für den FTP-Server
4. FTP-Server
4.1. FileZilla Server
4.2. Quick ‘n Easy FTP-Server
4.3. GuildFTPd
4.4. weitere FTP-Server
5. FTP-Clients
5.1. FileZilla
5.2. SmartFTP
5.3. weitere FTP-Clients
6. Schlussbemerkung
7. Quellen

Teil 2: Inside FTP

8. Begriffsklärung zu SSH, SCP, SFTP, Secure FTP und FTPS
9. FTP-Server – Teil 2
9.1. Serv-U
9.2. FTP-Server mit Windows-Bordmitteln
9.3. grafischer SFTP-/FTPS-Server mit PSFTPd
9.4. kommandozeilengesteuerter SFTP-Server mit Cygwin
9.5. (S)FTP-Server unter SuSE Linux 9.2: vsftpd
10. FTP-Clients – Teil 2
10.1. SFTP-Clients
10.2. Kommandozeile
10.3. FXP-Transfer
11. Quellen

Teil 3: Fehlersuche

12. Fehlersuche auf der Server-Seite
13. Fehlersuche auf der Client-Seite
14. Noch immer Probleme?

1. Vorbemerkungen

Bitte werfen Sie während des Lesens nicht das eigene Firewall-Konzept über den Haufen, es werden vor allem im 3. Teil dieser Artikel-Serie mögliche Lösungen aufgezeigt, wenn die eine oder andere Verbindung nicht auf Anhieb klappt. Ein aktueller Patchstand Ihres Systems wird dringend empfohlen und als gegeben vorausgesetzt.

Dieser Artikel ist zugegeben deutlich größer als der ursprüngliche Artikel, was aber auch daran liegt, dass deutlich mehr Server und Clients vorgestellt werden. Ich empfehle Ihnen, zuerst zu lesen und dann sich für einen Server + Client zu entscheiden.

1.1. System-Voraussetzungen

1.2. Testplattform für diesen Artikel

  • Betriebssystem: Windows XP mit Service Pack 2
  • VMware: Windows XP SP2 + SuSE Linux 9.2
  • Internetzugang: HanseNet 5 MBit/s Download / 512 KBit/s Upload

2. FTP – eine Definition

2.1. Wozu FTP?

Mit einem eigenen FTP-Server kann man Dateien anderen Usern zum Download zur Verfügung stellen und Dateien von Usern auf den eigenen Server hochladen lassen.

2.2. Funktionsprinzip

FTP steht für File Transfer Protokoll und ist ein Protokoll zur Datenübertragung. Es ist heute annähernd 35 Jahre alt (Stand 2005) und zählt damit zu den ältesten Protokollen im Internet. Das FTP-Protokoll basiert auf dem bekannten TCP-Protokoll und arbeitet nach dem Client-Server-Prinzip. Dabei werden 2 Verbindungen aufgebaut.

Zuerst wird eine Steuerverbindung (command channel) aufgebaut. Wie der Name schon sagt, wird hierüber die Kommunikation zwischen Server und Client abgewickelt. Dies geschieht mit einem bestimmten Befehlssatz. Einige Befehle werden wir später bei der Vorstellung der FTP-Clients beim Verbindungsaufbau sehen. Nachdem die Verbindung über den Steuerkanal steht, kann ein Datentransfer initiiert werden, welcher über den Datenkanal (data channel) abläuft.

Schematische Darstellung des Prinzips eines FTP-Transfers:

Schematische Darstellung des Prinzips eines FTP-Transfers

Einschub: kleine Portkunde

Ports sind Schnittstellen, die es ermöglichen, bei einer physischen Verbindung zu einem Netzwerk (auch Internet) mehrere logische Verbindungen herzustellen. Ports sind von 0 bis 65535 durchnummeriert und können von Prozessen oder Programmen genutzt werden.
Die Ports 0 bis 1023 gehören zur Gruppe der “well known ports” und werden von der IANA vergeben. Jedem System ist bekannt, welche Protokolle in diesem Port-Bereich arbeiten.
Die Ports 1024 bis 49151 gehören zu der Gruppe der “registered ports”, welche von Prozessen und Anwendungen genutzt und von Anwendungsentwicklern für eigene Protokolle registriert werden können.
Die Ports 49152 bis 65535 gehören der Gruppe der “dynamic and/or private ports” an. Wie der Name schon sagt, werden sie dynamisch vom Host auf Anfrage von Prozessen vergeben und sind keiner Applikation direkt zugeordnet.

Es gibt 2 unterschiedliche Herangehensweisen, einen Transfer von einem Client zu initialisieren: den aktiven und den passiven Verbindungs-Modus. Beiden gemein ist, dass zuerst eine Steuerverbindung aufgebaut wird (1. Pfeil), über die FTP-Kommandos gesendet werden, und anschließend zum Datentransfer eine Datenverbindung aufgebaut wird (2. Pfeil). Der Unterschied zwischen den beiden Verbindungsmodi liegt darin, wer diese Verbindungen aufbaut – Client oder Server. Im Detail läuft dies so ab:

2.3. Aktiver Verbindungs-Modus

Aktiver FTP-Modus

Ablauf: Der Client reserviert 2 TCP-Ports aus dem Port-Bereich 1024-65535 zur eigenen Verwendung, baut über den ersten Port die Steuerverbindung zu Port 21 des Servers auf und teilt dem Server die 2. Port-Nummer mit, auf welchem der Client die Daten erwartet.
Merke: Schlecht für den Client, weil ein Datentransfer potentiell durch einen Portfilter unterbunden wird, da prinzipiell alle Ports >1024 geöffnet werden müssten. Gut für den Server-Admin, weil er nur 2 Ports freigeben muss.

2.4. Passiver Verbindungs-Modus

Passiver FTP-Modus

Ablauf: Der Client reserviert 2 TCP-Ports aus dem Port-Bereich 1024-65535 zur eigenen Verwendung und baut über den ersten Port die Steuerverbindung zu Port 21 des Servers auf. Da eine passive Verbindung gewünscht ist, sendet der Client aus dem angesprochenen FTP-Befehlssatz das Kommando PASV. Damit weiß der Server: Eine passive Verbindung ist erwünscht, woraufhin er für sich einen TCP-Port aus dem Bereich 1024-65535 für den Datentransfer reserviert und diesen Port dem Client mitteilt. Damit kann der Datentransfer beginnen, denn der Port für den Datentransfer wurde ausgehandelt.
Merke: Gut für den Client, weil beide Verbindungen von der Client-Seite hergestellt werden, Ports also nur bei Bedarf geöffnet werden, schlecht für den Server-Admin, da er entweder zu allen Ports des Servers einen Verbindungsaufbau gestatten muss oder ein Application Level Gateway braucht, das der Kommunikation zwischen Server und Client folgen kann und den gewählten Port bei Bedarf öffnet.

2.5. Transfermodi

Das FTP-Protokoll versteht 2 Transfermodi: ASCII und Binär (binary). Der ASCII-Modus kann und sollte zur Übertragung von Text-Dateien verwendet (TXT, HTML usw.) werden. Dabei werden u.a. Zeilenumbrüche an das Ziel-Betriebssystem angepasst. Dieser Transport-Modus ist durch die Umcodierung zeitintensiver, gewährleistet aber korrekte Ansicht der Inhalte auf allen Systemen. Im Binary-Modus werden Daten so wie sie sind Byte für Byte übertragen, d.h. es werden keine Inhalte geändert. Alle anderen Dateien, die keinen Text enthalten, müssen zwingend im Binary-Modus übertragen werden, zum Beispiel Archive oder Grafiken. Im FTP-Client sollte man nach einer Autowahl-Funktion Ausschau halten, die üblicherweise auch standardmäßig aktiv ist.

2.6. Authentifizierung

Jeder User muss sich bei einem FTP-Server mit Benutzername und Passwort authentifizieren. Außerdem gibt es die Möglichkeit eines Anonymous-Logins, in der Regel ohne Passwort oder mit Admin-Mailadresse als Passwort. Die Nutzung dieses Standard-Accounts bietet einfachen Zugriff auf den FTP-Server, sollte aber auf einem Heim-FTP-Server mit Bedacht eingesetzt werden, da sich jeder am Server anmelden kann. Zugriffsrechte und Zugriffsbereiche sollten überlegt gewählt sein. Öffentliche FTP-Server bieten i.d.R. diesen Zugang an.

2.7. Sicherheit

Bedenken Sie, dass FTP komplett unverschlüsselt abläuft und damit anfällig für Lauschangriffe ist. Alternativen werden Ihnen im 2. Teil dieser Artikelserie mit SFTP (benutzt SSH) sowie FTPS (benutzt SSL/TLS) aufgezeigt. Eine weitere Möglichkeit ist es, vorher einen verschlüsselten VPN-Tunnel zum Zielsystem aufzubauen, sofern möglich.

3. Eigener DNS-Servername für den FTP-Server

Zuerst stellt sich einmal ein fundamentales Problem (zumindest bei fast allen Usern): Ein FTP-Server ist nur über eine IP-Adresse erreichbar. Aber nach jedem Aufbau und Abbau der Internetverbindung bekommt man vom Provider eine neue IP-Adresse zugeordnet (dynamische IP-Adresse). Das Problem: FTP-Clients finden den FTP-Server nicht mehr unter der alten IP-Adresse.

Um dieses Problem zu lösen gibt es Anbieter, bei denen man sich einen festen Namen reservieren kann. Dieser Name verweist anschließend auf die eigene IP-Adresse, wenn er aufgerufen wird. Der wohl bekannteste Dienst heißt DynDNS und ist hier zu finden: http://www.dyndns.org.

Bevor Sie sich gleich auf diesen Artikel stürzen, beachten Sie bitte den folgenden Absatz!
Die meisten Besitzer von Routern können sich den Update-Client sparen, da diese Funktionalität heute in den meisten Routern eingebaut ist. Je nach Router-Modell können ein oder mehrere DynDNS-Accounts verwaltet werden. Schauen Sie dazu am einfachsten ins Handbuch des Routers.
Der neue Servername sollte zu diesem Zeitpunkt vom Internet aus anpingbar sein (wie im DynDNS-Artikel beschrieben, für den Test ggf. ICMP in einer Firewall zulassen). Sollte dies nicht funktionieren, wird auch der FTP-Server nicht erreichbar sein.

4. FTP-Server

Ein Server-Name allein reicht noch nicht, denn bisher fehlt noch der FTP-Server selber. Beispielhaft werden in der Folge 3 Server-Software-Pakete beschrieben. Welches für Ihre Bedürfnisse am besten geeignet ist, sollten Sie am besten selbst entscheiden. Das Handling und die Ausstattung entscheiden letztendlich über die Wahl. FileZilla Server und GuildFTPd sind umfangreich, aber englischsprachig, Quick ‘n Easy FTP Server ist kleiner, dafür gerade für Windows-User leichter zugänglich und auch deutschsprachig erhältlich.

Zunächst jedoch noch einige Grundlagen:

Virtuelle Pfade

Leider liegen Daten nicht immer in der Struktur auf der Festplatte, wie man sie einem User anbieten möchte. Als Ausweg gibt es die Nutzung von virtuellen Pfaden. Das System dahinter ist simpel und genial zugleich. Man legt einen 2. Pfad fest, gibt ihm einen Namen und lässt ihn damit in einem anderen Pfad anzeigen. Die folgende Darstellung soll das Prinzip verdeutlichen:

Virtuelle Pfade
Klick aufs Bild zum Vergrößern

Upload versus Download

In den heimischen 4 Wänden stößt man mit einem FTP-Server schnell an die Grenzen seiner Internet-Verbindung. Was bei dem Client Download-Rate ist, ist bei der eigenen Leitung die Upload-Rate. Da die Mehrzahl einen A-DSL-Anschluss hat, hier ein anschauliches Beispiel:

Eine T-DSL 1000 Flatrate bietet 1024 Kbit/s Download und 128 Kbit/s Upload. Umgerechnet entspricht das 128 KByte/s Download und 16 KByte/s Upload.
Download: 1024 Kbit/s / 8 = 128 KByte/s (Umrechnungsfaktor von Byte auf Bit ist 8)
Upload: 128Kbit/s / 8 = 16 KByte/s (Umrechnungsfaktor von Byte auf Bit ist 8)

Ein Server könnte also im Idealfall 16 KByte/s bieten, an gleichzeitiges Surfen im Internet ist dann nicht mehr zu denken. Eine Limitierung auf 10 KByte/s hat sich bei dieser Upload-Rate als brauchbar herausgestellt. Sollen mehrere User verwaltet werden, macht es mehr Sinn, die Begrenzung in den Optionen der Gruppe einzustellen. Dann ist es auch sinnvoll, die maximal gleichzeitigen Verbindungen zu beschränken, denn die User müssen sich im Falle der gleichzeitigen Verbindung zum Server die Bandbreite teilen.

Autostart

Ich rate davon ab, eine Verknüpfung zum FTP-Server in den Autostart zu legen, denn so hält man immer Port 21 seines Rechners offen. Die Server-Software sollte mit Bedacht eingesetzt und bei Bedarf gestartet werden. Eine Alternative wäre die Einrichtung eines Server-PCs, der nicht als Arbeitsplatz-PC genutzt wird, mit sehr restriktiven Rechten in allen Bereichen.

4.1. FileZilla Server

Sie finden FileZilla Server im WinTotal-Softwarearchiv.

Bei der Installation dieses Server-Paketes sollten Sie nicht blind durchklicken, denn es sind durchaus wichtige Optionen bereits im Installer enthalten. An dieser Stelle gilt es den Starttyp des Servers einzustellen (als Dienst mit Windows startend, als Dienst zum händischen Starten oder die Autostart-Variante als normale Applikation). Außerdem muss der Port gewählt werden, mit dem sich das Konfig-Interface später mit dem Server verbindet.

FileZilla Server
Klick aufs Bild zum Vergrößern

Im folgenden Bildschirm wird erfragt, wann das Server-Interface starten soll. Nach der Installation wird lokal zum Server verbunden. Die Oberfläche erscheint zunächst spartanisch, bildet jedoch das Log-File ab und wird sich bald füllen. Im Menüpunkt “Edit” finden sich die Einstellungen. Die Punkte sind auch per Buttons in der Menüleiste erreichbar. Zunächst erstelle ich eine Gruppe.

FileZilla Server
Klick aufs Bild zum Vergrößern

Bereits an dieser Stelle kann man vielfältige Einschränkungen definieren (beispielsweise Bandbreiten-Limits) sowie Verzeichniszugriffe definieren. Das Heimverzeichnis wird mit einem “H” vor dem Pfad kenntlich gemacht. Achten Sie bei der Verzeichnisfreigabe darauf, nicht unnötig viel Zugriff zu gewähren. Die Standard-Attribute Read (Lesen) und List (Auflisten) sind zunächst völlig ausreichend. Weitere Pfade können hinzugefügt werden, virtuelle Pfade können erst im Nachhinein per Kontextmenü zum Pfad über den Punkt “Edit aliases” definiert werden. Die Syntax ist dabei leicht abweichend von anderen FTP-Servern, ermöglicht aber mehr Flexibilität. Der Alias besteht aus dem Zielpfad + dem eigentlichen Alias, in meinem Fall also “C:\WINDOWS\Web\Wallpaper\weitere Bilder”.

FileZilla Server – Verzeichnisse
Klick aufs Bild zum Vergrößern

Nun muss noch ein Benutzer erstellt werden. Ein Passwort kann erst nach Anlegen eines Benutzers aktiviert und definiert werden.

FileZilla Server – Benutzer anlegen
Klick aufs Bild zum Vergrößern

Zuvor habe ich eine Gruppe erstellt und bereits dort Pfade definiert. Hier stelle ich nur noch die Gruppenmitgliedschaft “Testgruppe” ein und schon ist ein Login möglich. So können aber mehrere Benutzer zentral verwaltet werden, da der FileZilla Server den Platzhalter “:u” für den Benutzernamen anbietet.

Ein weiterer interessanter Fall ist das Verfügbarmachen eines Upload-Ordners, also ein Ordner, in den ein FTP-User etwas hochladen kann. Es macht Sinn, einen eigenen Ordner zur Verfügung zu stellen, da Schreibrechte mit Bedacht gewählt werden sollten, um nicht den Überblick über die eigene Ordnerstruktur zu verlieren.

FileZilla Server – Upload-Ordner bereitstellen
Klick aufs Bild zum Vergrößern

In diesem Beispiel wird also der Ordner “C:\Upload” als virtueller Ordner im Startordner des FTP-Users mit dem Namen “Upload” angezeigt. Dazu erhält er Schreibrechte (Write), Erstell-Rechte (Create) und Erweiterungs-Rechte (Append). Die letztgenannten Rechte sind auch dazu da, einen Upload fortsetzen zu können. Die Einstellungen für diesen Ordner werden an Unterordner vererbt (+ Subdirs). So sieht das Ergebnis auf Client-Seite aus:

Virtueller Ordner mit Subdirs

Im Menüpunkt “Settings” finden Sie serverspezifische Einstellungen, Port-Range für Passiv-Verbindungen, Server-Port, Timeouts, Startverhalten, Kompression etc. Näher sei hier der SSL/TLS-Support erwähnt (Secure-FTP). Mit Hilfe des Assistenten kann man sich sein eigenes Zertifikat erstellen oder man bindet ein vorhandenes ein. Damit wird eine gesicherte Authentifizierung möglich. Mehr über dieses Verfahren erfahren Sie im 2. Teil dieser Artikel-Serie.

FileZilla Server – Settings
Klick aufs Bild zum Vergrößern

4.2. Quick’n Easy FTP Server

Ein weiterer und sehr gut bedienbarer FTP-Server kommt aus den Niederlanden und hört auf den Namen Quick’n Easy FTP Server. Sie finden Quick’n Easy FTP Server im WinTotal-Softwarearchiv.

Die Oberfläche orientiert sich stark an Windows, wodurch die Navigation besonders Einsteigern leicht fallen wird. Eine Installation ist nicht nötig, Einstellungen werden in einer XML-Datei abgelegt. Der Server kann also quasi von jedem Ort auf der Festplatte aus gestartet werden. Also einfach entpacken und loslegen. Beim ersten Start begrüßt Sie ein Wizard, der Benutzername, Kennwort, Heimverzeichnis des neuen Users und die Zugriffsrechte darauf erfragt. Danach ist der Server bereits startbereit.

Der erste Gang ist in die Benutzerverwaltung, welche links im Aufgabenbereich unter “Benutzerkonten” erreichbar ist. Danach den neuen User anklicken, schon werden die dazugehörigen Optionen angezeigt.

Quick’n Easy FTP Server
Klick aufs Bild zum Vergrößern

Gerade der Aufgabenbereich links macht die Administration so einfach. Unten rechts werden die virtuellen Pfade eingeblendet. Per Kontextmenü oder Aufgabenbereich (unter “Virtuelle Verzeichnisse”) können neue Pfade definiert werden. So sieht das dann aus:

Quick’n Easy FTP Server – Virtuelle Pfade
Klick aufs Bild zum Vergrößern

Im Screenshot zu erkennen ist außerdem, dass das Download-Limit auf 10 (KB/s) gesetzt wurde.

Serverweite Einstellungen erreichen Sie, wenn Sie im Aufgabenbereich auf “Konfiguration” klicken. Hier können beispielsweise das Startverhalten, Server-Nachrichten und das Standard-Homeverzeichnis definiert werden. Mit einem Klick auf den großen grünen “Start”-Button oben links wird der Server online geschaltet.

4.3. GuildFTPd

Dieser Server bietet viele Optionen und wird deswegen hier ausführlicher vorgestellt. Das Programm finden Sie im WinTotal-Softwarearchiv.

Die Installation bietet keinerlei Stolpersteine. Bei einem späteren Update sollte man aber darauf achten, das Häkchen bei “Keep existing GuildFTPd settings & users” zu setzen. Nach der Installation muss der Server gestartet werden. Die Oberfläche sieht so aus:

GuildFTPd
Klick aufs Bild zum Vergrößern

Schauen wir uns die Oberfläche etwas näher an. Der erste Button ganz oben ist der An-/Aus-Button. Wird der Server gestartet, ist er auch schon an und damit der Server online. Links werden die Benutzer angelegt. Frisch installiert gibt es den so genannten Root namens “System”. Darunter eine standardmäßige Gruppe “Group”. Darunter wiederum den bereits angesprochenen anonymous-User. Klickt man sich durch diese Hierarchie, sieht man, wie sich rechts die Optionen ändern. Einstellungen können also am ganzen Server, einer Benutzergruppe oder direkt am User getätigt werden. Neue Benutzer und Gruppen werden per Kontextmenü erstellt (Add User/Group).

Rechts oben sehen wir “Current Connections”. Ist ein User auf dem Server eingeloggt, sieht man das hier. “Connection Graph” zeigt einen visuellen Verlauf der Übertragungsrate von Upload und Download an. “Past Connections” bietet eine History.

Der mittlere Bereich zeigt Upload- und Download-Bewegungen auf dem FTP-Server. “Message” und “Spy” sind eher zu vernachlässigen. Mit Message kann man Nachrichten schicken, Spy zeigt alle Kommandos, die verbundene Benutzer dem Server mitteilen. Wer des Englischen mächtig ist, kann dies alles in der hervorragenden Hilfe nachlesen.

Standardmäßig vorhanden ist der anonymous-User. Sollte er nicht gebraucht werden, kann er auch gelöscht werden, man kann ihn jederzeit bei Bedarf neu anlegen.

Danach erstelle ich als Beispiel einen Test-User. Dazu genügt ein Rechtsklick auf die Gruppe “Group”, gefolgt von einem Klick auf “Add User”. Hier empfehle ich einen Klick auf “Advanced”, um weitere Optionen freizuschalten. Mit dem Button “Random Pass” kann man ein Passwort generieren lassen. Beachten Sie, dass Passwörter nicht leicht zu erraten sein sollten. Unten kann man zwischen den Benutzer-Modi “Normal”, “Administrator” und “Anonymous” wählen.

GuildFTPd – Benutzer anlegen

Da der neue User meine Leitung nicht blockieren soll, möchte ich ihm nur 10 KB meines Uploads zugestehen. Ich setze die im folgenden Screenshot markierte Option und trage den gewünschten Wert ein:

GuildFTPd – Uploadgeschwindigkeit festlegen
Klick aufs Bild zum Vergrößern

Nun muss noch definiert werden, auf welche Ressourcen der User “Test” zugreifen darf. Dazu klickt man auf die Karteikarte “Paths”. Hier findet man eine vordefinierte Freigabe ftproot auf C. Wer den Pfad für das Start-Verzeichnis ändern möchte, wählt aus dem Kontextmenü des Eintrags “Edit Path”. Außerdem können hier die Zugriffsrechte geändert werden.

GuildFTPd – Zugriffsrechte
Klick aufs Bild zum Vergrößern

Der virtuelle Pfad lautet hier zunächst “/” und markiert damit das Stammverzeichnis des Users. Den Inhalt des Verzeichnisses, welches Sie hier wählen, wird der User (hier “test”) später sehen, wenn er sich einloggt.

Weitere virtuelle Pfade werden auf demselben Weg per “Add Path” erstellt, nur dass dann bei “Virtual Path” ein aussagekräftiger Name vergeben wird:

GuildFTPd – Pfade hinzufügen

Bei einer bestehenden Verbindung sieht der Server so aus:

GuildFTPd – Ansicht bei bestehender Verbindung
Klick aufs Bild zum Vergrößern

Das Icon ganz oben links ist nun grün, wie auch im Tray (neben der System-Uhr). Unter “Current Connections” sieht man nun eine Verbindung.
Weitere Optionen finden sich im Menüpunkt “Admin”. Klicken Sie sich einfach mal durch, es gibt viel zu entdecken.

4.4. Weitere FTP-Server

Ein reiner deutschsprachiger Server wäre Personal FTP Server. In der kostenfreien Variante ist der Funktionsumfang eingeschränkt. Weitere Alternativen zu den vorgestellten Servern wären noch CesarFTP und TYPSoft FTP-Server, letztgenannter bietet aber keine Bandbreiten-Beschränkung. Sobald jemand sich etwas herunterlädt, ist die eigene Leitung weitgehend blockiert. Wer seinen Rechner sowohl als Web- als auch als FTP-Server nutzen möchte, sollte sich das Paket XAMPP für Windows näher anschauen, in dem der FileZilla Server enthalten ist.

Für höhere Ansprüche hat sich der aus Deutschland stammende PSFTP Server bewährt, welcher in verschiedenen Editionen angeboten wird.

5. FTP-Clients

Mit einem FTP-Client können Sie sich zu einem FTP-Server verbinden und Daten herunter- und hochladen.

5.1. FileZilla

FileZilla gibt es nicht nur als FTP-Server, sondern auch als FTP-Client, der einen entscheidenden Vorteil gegenüber vielen anderen hat: Man kann ihn installieren oder eine gepackte Variante wählen, die ohne Installation läuft. Die gepackte Variante, portabel genannt, kann man dann auf einem USB-Stick packen oder auf eine CD brennen (Änderungen an den Favoriten oder Einstellungen sind dann natürlich nicht möglich). Den Download für den FTP-Client gibt es hier und für die portabel Version hier.

Unter Edit – Settings – Interface Settings – Language kann man die Sprache auf Deutsch umstellen. “Interface Settings” heißt jetzt “Interface Einstellungen”. Klicken Sie darauf und setzen den Haken bei “Server Ordneransicht”. So kann man auch auf der Server-Seite schnell durch Unterstrukturen navigieren.

FileZilla
Klick aufs Bild zum Vergrößern

Die Programmoberfläche von oben nach unten: Zuerst kommt die Symbolleiste. Links außen das Symbol führt zum Servermanager, vergleichbar mit den Favoriten/Lesezeichen im Browser. Die Symbole rechts außen vor dem Fragezeichen erleichtern die Kommunikation mit dem FTP-Server. Sie dienen dem Abbrechen einer Aktion sowie zum Trennen und Wiederverbinden zum Server. Die Symbole dazwischen dienen der optischen Darstellung des Clients.
Darunter gibt es eine Leiste, die eine schnelle Verbindung erlaubt. Man benötigt Serveradresse, Benutzername und Passwort. Der Port muss nicht eingetragen werden, nur wenn abweichend vom Standard.
Der Bereich darunter dient zur Anzeige der Statuskommandos bei der Verbindung zum Server. Dieses Fenster ist vor allem dann wichtig, wenn ein Fehler auftritt. Im mittleren Bereich werden Verzeichnisbäume/-inhalte von Client (links) und Server (rechts) angezeigt. Im unteren Fenster werden laufende Transfers angezeigt.

Jetzt kann der FTP-Server getestet werden. Dazu startet man auf dem Rechner, auf dem der FTP-Server läuft, einen FTP-Client – hier FileZilla. Dies sollte auf jeden Fall schon mal funktionieren, weil keine Komponente zwischen Server und Client die Kommunikation stören kann. Als Adresse trägt man “localhost” ein. Mein Benutzer heißt “Test”, ein Passwort hat er auch, also kann die Verbindung gestartet werden. Hier das Ergebnis einer erfolgreichen Verbindung:

FileZilla – Verbindungsaufbau
Klick aufs Bild zum Vergrößern

Vom eigenen Rechner kommt man mit “localhost” respektive “127.0.0.1” auf den Server. Von einem anderen Rechner innerhalb des eigenen Netzwerkes erreicht man den FTP-Server per IP-Adresse, NETBIOS-Name oder wenn der DynDNS-Updater auf dem Rechner läuft, auch per Servername (aus dem DynDNS-Artikel). Vom Internet aus muss man den registrierten Servernamen benutzen, egal ob der DynDNS-Client auf dem Rechner oder in einem evtl. vorhandenen Router läuft.

5.2. SmartFTP

SmartFTP zählt zu den besten FTP-Clients und ist für 30-Tage Testversion verfügbar. Nach 30 Tagen wird nur ein Nag-Screen eingeblendet, der auf die Laufzeit des Programms hinweist. SmartFTP ist multilingual und kann von unserem WinTotal-Softwarearchiv heruntergeladen werden.

Die Oberfläche sieht dann so aus:

SmartFTP
Klick aufs Bild zum Vergrößern

Der Aufbau der Oberfläche ist wie bei FileZilla: Symbolleiste, Schnellverbindungs-Leiste und unten die Übertragungs-Warteschlange. Der graue Bereich zeigt bei einer Verbindung zu einem Server den Verzeichnisbaum/-inhalt an. Die Anzeige kann über die Menüpunkte Ansicht und Fenster variiert werden. Nach dem Login kann es so aussehen:

SmartFTP – Verbunden
Klick aufs Bild zum Vergrößern

Wie FileZilla auch bietet SmartFTP eine Favoriten-Verwaltung, in der häufiger besuchte FTP-Server organisiert werden können. Es lohnt sich, die Möglichkeiten des Programms zu erforschen, deren Umfang den Artikel sprengen würde. Beiden FTP-Clients ist die einfache Bedienung gemein. Zum Datentransport muss man nur die entsprechenden Dateien und Ordner von der lokalen Seite zur Server-Seite Windows Explorer-ähnlich per Drag-and-Drop schieben.

5.3. Weitere FTP-Clients

Wirklich interessante weitere kostenfreie Clients sind Mangelware, da es sich häufig um Light-Versionen von Shareware-FTP-Clients handelt. In einem fortführenden Artikel werden Ihnen weitere Möglichkeiten gezeigt, die ich hier nicht vorwegnehmen möchte. Nennenswert sind noch LeechFTP, dessen Entwicklung aber eingestellt wurde (bzw. wird eine käufliche Variante unter anderem Namen erscheinen) sowie Staff-FTP.

Eine gute Wahl unter den kostenpflichtigen FTP-Clients ist der aus Deutschland stammende PSFtp.

Es ist außerdem möglich, mit einem Browser auf einen FTP-Server zuzugreifen. Die Syntax lautet:
ftp://benutzername:passwort@hostname.domain
Beispielsweise: ftp://jemand:test@nobodys.homeftp.net (Siehe dazu Tipp im WinTotal-Tipparchiv)

Bedenken Sie aber: Browser sind denkbar ungeeignet für den Zugriff auf einen FTP-Server. Sie bieten kaum FTP-Funktionalitäten, sie sind träge und melden sich beim Schließen der Seite nicht am FTP-Server ab. Sind im FTP-Server die maximalen Verbindungen per IP oder Benutzer definiert, kann es sogar passieren, dass man sich recht schnell nicht mehr einloggen kann, wenn man mehrmals die Adresse im Browser eingibt. Einzig bei Einzel-Downloads per Direktlink sind Zugriffe per Browser sinnvoll einzusetzen.

6. Schlussbemerkung

Wenn man einen FTP-Server in den eigenen 4 Wänden erstellt, müssen einige Gegebenheiten vorhanden sein. So muss die eigene Internetverbindung offen sein, damit andere User den Server erreichen können. Auch sollte der eigene Upload groß genug sein, denn was bei dem eigenen Rechner Upload ist, ist für die anderen User der Download. Ein Virenscanner ist absolute Pflicht, besonders wenn es Usern erlaubt wird, Dateien auf den eigenen Rechner hochzuladen.

Bedenken Sie, dass FTP grundsätzlich ein unverschlüsseltes Dateiübertragungsverfahren darstellt. Wählen Sie also Ihren FTP-Server den Gegebenheiten entsprechend aus. Bei FTP-Servern, die längere Zeit und im Internet verfügbar sind, sollte auf eine verschlüsselte Variante nicht verzichtet werden. Besonders im 2. Teil wird dieses Thema näher beleuchtet. Konfigurieren Sie außerdem den FTP-Server so, dass so wenige Ports wie möglich geöffnet werden müssen. Portfilter (Bestandteil eines Firewall-Konzepts) oder die NAT-Funktionalität heutiger Router ergänzen das Sicherheitskonzept, welches bei einem eigenen Server sehr wichtig ist, da man selber Dienste im Netzwerk und/oder Internet anbietet.

Sollten Sie Probleme bei der Einrichtung haben, lesen Sie bitte den 3. Teil dieser Artikelserie, der sich ausschließlich der Fehlerbehebung widmet.

7. Quellen

http://www.iana.org/assignments/port-numbers
http://www.lansys.ch/arch/doc/ftp.html
http://www.slacksite.com/other/ftp.html

Hinterlasse eine Antwort

(wird nicht veröffentlicht)

Nutzungsrichtlinien beachten