Datum: | Internet, Netzwerk, Windows

FTP-Programm

In diesem Tutorial befassen wir uns mit dem Funktionsprinzip  mit den Grundlagen eines FTP-Server, erklären den Betrieb eines eigenen FTP-Servers anhand von verschiedenen Free- und Sharewarelösungen und beschäftigen uns zum Ende mit der Fehlersuche und Problemen wie "FTP-Server hinter Router" und "FTP-Server und Firewall".

  • Erfahren Sie, was ein FTP-Server ist und wie dieser funktioniert.
  • Lernen Sie in dieser Anleitung, wie Sie einen eigenen FTP-Server einrichten.
  • Tipps und Tricks zum eigenen FTP-Server runden dieses Tutorial ab.

Grundlagen zu FTP, empfohlene Programme

Im ersten Abschnitt vermitteln wir Ihnen Grundlagen rund um FTP und stellen einige Programme für FTP-Server und FTP-Clients vor.

Was ist ein FTP-Server

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.

Funktionsprinzip

FTP steht für File Transfer Protokoll und ist ein Protokoll zur Datenübertragung. Es wurde 1970 eingeführt 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:

FTP-Server

FTP-Server

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.

Aktiver und passiver Verbindungsmodus

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:

Aktiver Verbindungsmodus

Aktiver FTP-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.

Passiver Verbindungsmodus

Passiver FTP-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.

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.

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.

Sicherheit

Bedenken Sie, dass FTP komplett unverschlüsselt abläuft und damit anfällig für Lauschangriffe ist. Alternativen werden Ihnen später in 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.

Was ist SSL?

SSL steht für Secure Sockets Layer und ist ein hybrides Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet und wird vor allem für die Verschlüsselung von sicheren Webverbindungen über https verwendet.

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 in aller Regel 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. Wer auf dem eigenen Rechner einen FTP-Server betreiben will, benötigt daher einen Update-Client, um dem DynDNS-Dienst auch die jeweils aktuelle IP-Adresse mitzuteilen.

Hinweis: 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. Bei der Fritz!Box ist ein DynDNS-Feature bereits über MyFRITZ! möglich und keine fremde Software oder Dienst notwendig.

Weitere Informationen zum Enrichten von DynDNS finden Sie in unserem Artikel Dynamisches DNS-Update für die lokale Homepage.

Die DNS Server Adresse sollte zu diesem Zeitpunkt vom Internet aus anpingbar sein. Sollte dies nicht funktionieren, wird auch der FTP-Server nicht erreichbar sein.

FTP-Server

Ein Server-Name allein reicht noch nicht, denn bisher fehlt noch der FTP-Server selber.

Beispielhaft werden in der Folge 2 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 ist 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. In unserem Softwarearchiv in der Rubrik FTP-Server finden Sie noch weitere, kostenlose und kostenpflichtige FTP-Server.

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

Virtuelle Pfade

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 meisten Leitungen nicht synchron sind, die Down- und Uploadraten abweichen, müssen Sie sich immer an Ihrer Uploadrate orientieren. Für Nutzer von DSL 16000 sind es meist nur 1.024 kbit/s bis 2.400 kbit/s, je nach Anbieter.

Ein Server könnte also im Idealfall 128 KByte/s bis 256 KByte/s bieten, an gleichzeitiges Surfen im Internet ist dann nicht mehr zu denken. Eine Limitierung auf 100 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.

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

FileZilla Server

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

FileZilla Server

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

FileZilla Server – Verzeichnisse

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

FileZilla Server – Benutzer anlegen

FileZilla Server – Benutzer anlegen

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

FileZilla Server – Upload-Ordner bereitstellen

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

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 später in diesem Artikel.

FileZilla Server – Settings

FileZilla Server – Settings

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

Quick’n Easy FTP Server

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

Quick’n Easy FTP Server – Virtuelle Pfade

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.

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.

Einen guten Überblick, allerdings in englischer Sprache über die 20 besten und kostenlosen FTP-Server für Windows gibt auch der Artikel von comparitech.com.

FTP-Clients

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

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 (auch portabel) gibt es 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

FileZilla

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

FileZilla – Verbindungsaufbau

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.

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

SmartFTP

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

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.

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.

Webbrowser als FTP-Client: 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. 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.

Gedanken zum eigenen FTP-Server

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.

Inside FTP - Verschlüsselung und Vertiefung von Informationen

In diesem Teil werden Alternativen bei den Clients und Serverpaketen vorgestellt. Außerdem wird der sichere verschlüsselte Dateitransfer thematisiert sowie der FXP-Transfer erläutert. Dieser Artikel vertieft das Wissen zu FTP.

Begriffsklärung zu SSH, SCP, SFTP, Secure FTP und FTPS

In diesen Teil werde ich unter anderem Verschlüsselungs-Techniken beim Datentransfer einbeziehen, deswegen vorab eine Begriffsklärung zu SSH, SCP, SFTP, Secure FTP und FTPS.

  • SSH steht für Secure Shell und ist sowohl Protokoll (TCP-Port 22) als auch Programm. SSH ermöglicht eine gesicherte verschlüsselte Daten-Verbindung zwischen 2 Rechnern.
  • SCP steht für Secure Copy und ist wie SSH sowohl Protokoll als auch Programm. Es dient zum Kopieren von Daten zwischen Server und Client über eine gesicherte und verschlüsselte Verbindung per SSH.
  • SFTP steht für SSH File Transfer Protocol, ist die konsequente Fortführung der SCP-Idee und stellt dem User einen Befehlssatz zur Verfügung, um zwischen 2 Rechnern kommunizieren und Aktionen ausführen zu können. SFTP nutzt SSH zu Verschlüsselung der Authentifizierung, Kommunikation und Datentransfer zwischen 2 Rechnern. Die Nutzung scheint der von FTP ähnlich, dennoch ist SFTP ein komplett eigenständiges Protokoll, das auch anders funktioniert. Es gibt nur eine Verbindung (also keinen getrennten Steuer- und Datenkanal) und es wird nur ein Port genutzt (Standard: Port 22). SFTP unterstützen derzeit nur wenige Clients und Server.
  • Es gibt auch noch Secure FTP, welches wieder auf FTP aufbaut. Dabei werden die Authentifizierung und der Verzeichniswechsel über einen SSH-Tunnel verschlüsselt, der Rest der Kommunikation inklusive Datentransfer läuft unverschlüsselt ab. Dies hat den Vorteil, dass die beteiligten Rechner nicht in so starkem Maße durch die Verschlüsselung belastet werden, wie es bei einer vollständigen Verschlüsselung der Kommunikation der Fall ist. Man unterscheidet explizites und implizites Secure FTP. Beim impliziten Secure FTP ist die Verschlüsselung per SSL/TLS zwingend bei der Anmeldung an einer Domäne erforderlich, beim expliziten Secure FTP ist auch eine unverschlüsselte Anmeldung an einer Domäne möglich, die Verschlüsselung kann aber per AUTH-Signal vom FTP-Client initialisiert werden. Der Standard-Port für Secure FTP ist Port 990.
  • So wie es HTTPS gibt, existiert auch FTPS, eine per SSL/TLS gesicherte FTP-Verbindung, mit der verschlüsselte Datenübertragung möglich ist. In Kombination mit Secure FTP wird eine sichere Kommunikation zwischen 2 Rechnern möglich.

Insgesamt unterstützen gerade die sicheren Verbindungsmöglichkeiten nur relativ wenige Server und Clients, und nicht alle verschlüsseln sowohl Kontroll- als auch Datenkanal in der per SSL/TLS gesicherten Variante.

FTP-Server - Teil 2

Serv-U

Serv-U ist ein größeres FTP-Serverpaket. Es bietet viele Features, die freie Pakete nicht bieten: mehrere Domänen, Port-Range bei Passiv-Modus, SSL-Zertifikat-Einbindung, ODBC-Datenbank-Schnittstelle und Fernwartung. Es gibt mehrere Lizenztypen und damit einhergehend Preisstufen. Die Unterschiede sind hier einsehbar: http://www.serv-u.info/produktinfo/editionen.htm. Die Shareware-Version wird für einen ersten Blick in diesem Artikel ausreichend sein, da sie 30 Tage als Corporate-Version läuft.

Den Download finden Sie hier: http://www.serv-u.info/produktinfo/download.php. Die englische Version finden Sie unter http://www.serv-u.com/.
Nach der Installation von Serv-U erfragt der initiale Assistent die Daten für die erste FTP-Domäne und ob der Server als Systemdienst laufen soll. Anschließend kann der FTP-Server konfiguriert werden. Bereits abgefragt wurde, ob Admin-Rechte gewährt werden sollen. Seien Sie vorsichtig und umsichtig mit solchen Einstellungen und setzen Sie Berechtigungen so restriktiv wie möglich.

Unter "Lokaler Server" kann man den Server komplett starten und stoppen sowie die Startart als Systemdienst konfigurieren. Mit einem Klick auf Lizenz sieht man die Laufzeit, bis das Programm sich in die Personal Edition zurückschaltet. Deinstallieren und Neuinstallieren bringt hier nichts.

Direkt darunter finden Sie globale Einstellungen. In der Karteikarte "Allgemein" lässt sich der Zugriff domänenübergreifend einschränken. Die Geschwindigkeits-Optionen sollten im Verhältnis zur Bandbreite der Internet-Verbindung gewählt werden. "Unterbinde Permanentverbindungen" ist nützlich bei häufigem Zugriff per Webbrowser und gleichzeitiger Einschränkung der maximal gleichzeitig eingeloggten User auf dem Server.

Serv-U Administrator

Das SSL-Zertifikat ermöglicht FTP via TLS/SLL (FTPS), d.h. die Authentifizierung und der Steuerkanal sind verschlüsselt, der Datentransfer ist es nicht. Sie müssen selbst ein Zertifikat erzeugen. Die ausführliche integrierte Hilfe hilft Ihnen dabei weiter (Stichwort: SSL-Zertifikat). Das erzeugte Zertifikat ist von Serv-U selbst unterzeichnet, kommt also nicht von einer Zertifizierungsstelle wie VeriSign. Zertifizierungsstellen sind vertrauenswürdige Stellen, die Zertifikate ausgeben, welche garantieren, dass ein öffentlicher Schlüssel zu einer bestimmten Person gehört. Dem Zertifikat wird eine digitale Signatur aufgeprägt, mit der die Integrität und Echtheit des Zertifikats nachgewiesen werden kann.

Unter "Erweitert" findet sich beispielsweise die Einstellung für einen Port-Range, wenn man den Server im passiven Modus betreiben möchte.

Unter den globalen Einstellungen findet sich die globale Aktivität. Wenn jemand eingeloggt ist und/oder etwas downloadet, sieht man dies hier. Interessant ist hier das Häkchen oben links für das automatische Aktualisieren, so dass man immer auf den ersten Blick den aktuellen Stand hat. Die Karteikarte Domänen-Protokoll bildet die globale Log-Datei ab. Alle globalen Funktionen bedienen den gesamten FTP-Server. Serv-U kann mehrere Domänen verwalten, das heißt mehrere virtuelle Hosts können verwaltet werden. Jeder Host - respektive jede Domäne - hat einen eigenen Namen und eigene Einstellungen, Logdateien, Benutzer, Gruppen etc.

Klicken Sie eine Domäne an, können Sie Einstellungen setzen, die die Domäne selber betreffen. Dazu gehören beispielsweise Port-Nummer, auf dem der Server lauscht, und ob der gesicherte Zugriff möglich ist.

Serv-U Administrator

Serv-U Administrator

In der Karteikarte "Allgemein" können virtuelle Pfade definiert werden, welche bereits weiter oben ausführlich beschrieben wurden.

Nun kann man sich der Benutzerverwaltung widmen. Um "anonymous login" zu erlauben, muss man einfach den Benutzer "anonymous" anlegen (Rechtsklick auf Benutzer - Neuer Benutzer, den Anweisungen folgen). Ist ein neuer Nutzer definiert, warten viele Einstellungen auf ihre Konfiguration. Klicken Sie einen User an. In der Karteikarte "Account" sieht man größtenteils getätigte Einstellungen, die beim Anlegen eines neuen Benutzers erfragt wurden. Hier kann auch ein Account deaktiviert oder mit einer Ablaufzeit versehen werden. Haben Sie Benutzergruppen definiert, können Sie hier den Benutzer einer oder mehreren Gruppen hinzufügen. Das System ist beispielsweise aus dem Active Directory bekannt, leider lassen sich die Mitglieder einer Gruppe in der derzeitigen Version nirgends einsehen.

Serv-U Administrator

Serv-U Administrator

In der Karteikarte "Allgemein" finden sich wichtige Einstellungen für die Konnektivität. Nehmen Sie sich Zeit für diese Einstellungen. Mindestens genauso wichtig ist der "Verzeichniszugriff". Das Stammverzeichnis ist bereits vorkonfiguriert. Rechts finden Sie die Berechtigungen auf Dateien und Ordner und ob diese Rechte an Unterordner vererbt werden sollen. Es ist kein Problem, auch ein CD-ROM-Laufwerk zum Beispiel freizugeben. Mit dem Hinzufügen von Pfaden in dieser Karteikarte tauchen die Verzeichnisse noch nicht beim User-Login auf. Hier kommen die virtuellen Pfade zur Anwendung, die in den Domänen-Einstellungen konfiguriert werden.

Beispielhaft werde ich das Vorgehen skizzieren. Zuerst definiere ich als Startverzeichnis für einen User das "Eigene Bilder"-Verzeichnis. Zusätzlich füge ich ein weiteres Verzeichnis in der Karteikarte "Verzeichniszugriff" hinzu, das "Eigene Musik"-Verzeichnis.

Serv-U Administrator

Serv-U Administrator

Ein Testlogin zeigt, dass derzeit "nur" der Inhalt des Verzeichnisses "Eigene Bilder" angezeigt wird. Das "Eigene Musik"-Verzeichnis ist nicht erreichbar. Nun wechsle ich in die Domänen-Einstellungen in die Karteikarte "Allgemein" und füge einen neuen virtuellen Pfad hinzu. Der Pfad auf der Festplatte lautet "C:\Dokumente und Einstellungen\%USERNAME%\Eigene Dateien\Eigene Musik", der virtuelle Pfad lautet "C:\Dokumente und Einstellungen\%USERNAME%\Eigene Dateien\Eigene Bilder". Damit wird der Ordner "Eigene Musik" nach dem Login im Stammverzeichnis (Eigene Bilder) angezeigt. Zuletzt wird der Anzeigename definiert. Das System der virtuellen Verzeichnisse wurde bereits ausführlichzu Anfang des Artikels erläutert.

Virtuelle Pfade

Virtuelle Pfade

Nach erneutem Login per FTP-Client wird nun ein Ordner "Programme" im Windows-Verzeichnisstamm angezeigt.

Wer die Einstellung eines "Ratio" sucht, wird unter "UL/DL Verhältnis" fündig. Mit dieser Funktion sind Up- und Download-Verhältnisse definierbar. Damit die Festplatte nicht zugemüllt wird, kann man außerdem ein Speicherplatzlimit definieren.

Sollten Sie Probleme oder Fragen zu diesem Programm haben, zögern Sie nicht, die integrierte ausführliche Hilfe zu nutzen. Außerdem gibt es für Serv-U eine Wissensdatenbank, die viele Fragen beantworten kann.

FTP-Server mit Windows-Bordmitteln

Auch Windows XP Professional bringt bereits einen FTP-Server mit. Er ist Teil der "Internet Information Services (IIS)" - hier Version 5.0 - und muss erst nachinstalliert werden. Sie können ihn in Ihrer Windows-Installation per Systemsteuerung - Software - "Windows-Komponenten hinzufügen/entfernen" - "Internet-Informationsdienste" installieren. Wählen Sie die Komponenten "FTP-Dienst (File Transfer Protocol)", "Gemeinsame Dateien" und "Snap-In Internet-Informationsdienste" aus und lassen Sie sie installieren. Ggf. benötigen Sie Ihre Windows-CD. Beachten Sie, dass in der Home-Edition dieses Feature fehlt. In der Professional-Edition ist nur eine FTP-Seite erlaubt. Weiterhin ist die Anzahl der Verbindungen auf 10 beschränkt. Dies sind die Unterschiede zu den Server-Versionen von Windows 2000 (IIS 5.0) und 2003 (IIS 6.0).

Es folgt die Konfiguration, die nicht umfangreich ausfällt. Sie finden das MMC-Snap-In "Internet Informationsdienste" unter Systemsteuerung - Verwaltung. Unter den "FTP-Sites" gibt es zunächst eine "Standard-FTP-Site". Wechseln Sie über das Kontextmenü in die Eigenschaften zur Konfiguration. In der Karteikarte "FTP-Site" vergeben Sie am besten als Beschreibung den DynDNS-Namen oder einen treffenden Namen, der sich am Stammverzeichnis orientiert.

IIS / FTP-Site festlegen

IIS / FTP-Site festlegen

Unter "Sitzungskonten" ist die anonyme Anmeldung aktiviert. Wer dies möchte, kann alles so lassen. Wenn nicht, dann einfach Haken oben raus. Anmelden kann man sich dann mit Benutzerkonten auf dem Rechner, welche unter Systemsteuerung - Verwaltung - Computerverwaltung - System - Lokale Benutzer und Gruppen - "Benutzer" konfiguriert werden. Die Installation der ISS legt ein Konto mit Gastrechten an: ISUR_%COMPUTERNAME%. Jeder FTP-User benötigt ein lokales Konto.

Weiter in den Eigenschaften der FTP-Seite: In der Karteikarte "Basisverzeichnis" können der Stammpfad sowie dazugehörige Rechte (Lesen und Schreiben) definiert werden. Wenn Schreiben erlaubt sein soll in der FTP-Verzeichnisstruktur, muss hier schreibender Zugriff aktiviert werden. Der Standardpfad liegt unter %SYSTEMDRIVE%inetpubftproot und wird ebenfalls bei der Installation des IIS-Servers automatisch erstellt.

Nun können Sie die Konfiguration schließen. Virtuelle Verzeichnisse sind auch möglich. Klicken Sie eine FTP-Seite an und wählen Sie im freien rechten Bereich aus dem Kontextmenü "Neu" - "Virtuelles Verzeichnis".

Im Snap-In "Internet-Informationsdienste" kann man den root des Snap-Ins wählen und sich unter "Aktion" - "Verbinden" mit einem entfernten FTP-Server auf IIS-Basis verbinden und weitgehend administrieren.

Damit erschöpft sich schon der Funktionsumfang. IIS sollten unbedingt auf einer NTFS-Partition installiert werden, um eine Rechteverwaltung als Werkzeug in der Hand zu haben ("Einfache Dateifreigabe" deaktiviert). Sie sollten sich gut mit der Rechteverwaltung in Windows auskennen, bevor daran zu denken ist, einen FTP-Server auf IIS-Basis ins Internet zu stellen. Bei der Härtung hilft Ihnen auch das Tool "IIS Lockdown".

SFTP-/FTPS-Server mit PSFTPd

PSFTPd ist ein umfangreicher FTP-Server, den es als Lite und Corporate Version gibt. Dieser Server beherrscht FTP, FTPS (explizit & implizit) und SFTP (SecureFTP on SSH2), vereint in einer einfach zu bedienenden Oberfläche. Eine Version, die sich als Dienst ins System einbinden lässt, gibt es nach der Registrierung. Die Corporate-Version bietet unter anderem multiple Domänen-Verwaltung und Benutzer-Gruppen.

Die Konfiguration ist denkbar einfach, das Programm macht es einem wirklich leicht. Per Doppelklick auf die Protokolle (wie im folgenden Screenshot zu sehen) können Ports und Zertifikate konfiguriert werden.

PSFTPd

PSFTPd

Auch in den anderen Karteikarten gibt es keine Überraschungen. In der Benutzerkonfiguration können virtuelle Pfade per Drag-and-Drop erstellt werden.

Die Oberfläche ist sehr aufgeräumt, was aber auch daran liegt, dass diese Lite-Version nicht den riesigen Funktionsumfang bietet wie beispielsweise Serv-U. Dafür kann sie bei den unterstützten Protokollen punkten.

PSFTPd

SFTP-Server mit Cygwin

Cygwin bildet eine eigene UNIX-Umgebung auf Windows ab. Mitgeliefert wird hier OpenSSH als SSH-Server, das Package beinhaltet auch gleich einen SFTP-Server. Eine Komplettinstallation von Cygwin ist ordentlich groß, ich werde hier den Weg beschreiben, um die benötigten Komponenten zu installieren. Wer möchte, kann sich noch einen Editor hinzu installieren (nano oder auch vim, die Kategorie-Ansicht empfiehlt sich dann im Installer, welcher gleich näher erläutert wird).

Für den folgenden Guide zu Cygwin benötigen Sie Administrator-Rechte. Außerdem muss Cygwin auf einer NTFS-Partition installiert werden, die eine Rechteverwaltung zulässt.

Erstellen Sie auf Ihrer Festplatte ein Verzeichnis (z.B. Cygwin) - wo ist egal. Speichern Sie die setup.exe aus dem WinTotal-Download darin und starten Sie sie anschließend. Mit Hilfe des Installers können die Installationsdateien direkt aus dem Internet geladen werden. Wählen Sie dafür als Installationsquelle "Install from Internet". Anschließend wird das Installationsverzeichnis gewählt. Sie können das Verzeichnis nehmen, in dem schon die setup.exe liegt. Als Default Text Type kann "UNIX" ausgewählt bleiben. Das "Local Package Directory" kann ebenfalls auf dem Pfad des Installers bleiben. Als Mirror sollte man einen in seiner Nähe nehmen. Genug Uni-Server sind dabei. Bei der Package-Auswahl klicken Sie einmal auf den View-Button, damit die Ansicht auf "Full" wechselt. Die Packages sind alphabetisch sortiert. Suchen Sie nach "OpenSSH", klicken auf "Skip", so dass unter "Binary" ein Kreuz gesetzt wird.

Cygwin

Cygwin

Nun kann die Installation gestartet werden. Etwa 40 MB werden nun heruntergeladen. Mit diesem Installer kann Cygwin jederzeit modifiziert und deinstalliert werden.

Nach dem ersten Start der Bash Shell von Cygwin werden noch einige Komponenten initialisiert. Bevor dort die Konfiguration von OpenSSH gestartet wird, muss Windows noch vorbereitet werden. Drücken Sie die [Win-Taste]+[Pause] (oder in der Systemsteuerung das Modul "System"), wechseln zur Karteikarte "Erweitert", klicken auf Umgebungsvariablen, suchen bei den Systemvariablen den PATH-Eintrag und editieren diesen. Fügen Sie an hinterster Stelle ein Semikolon (;) und den Pfad zum bin-Ordner im Cygwin-Installationsverzeichnis hinzu. Bei mir lautet der Pfad C:\Cygwinbin.

Cygwin

Cygwin

Anschließend wird mit dem Neu-Button eine neue Variable erstellt. Als Namen tragen Sie "CYGWIN" ein, als Wert tragen Sie "ntsec tty" ein. Bestätigen und schließen Sie alle geöffneten Windows-Fenster per Klick auf [OK], damit die Änderungen übernommen werden.

Nun geht es in der Bash Shell weiter. Geben Sie ssh-host-config ein. Es startet ein Skript. Wenn Sie nach "privilege seperation" gefragt werden, antworten Sie mit "yes". Dasselbe machen Sie bei der Abfrage zum "local user sshd". Die Idee hinter "privilege seperation" wird in diesem Artikel erklärt: http://www.symlink.ch/articles/02/05/27/220210.shtml. Dafür wird der User "sshd" benötigt.

Falls Sie möchten, dass der SSH-Daemon bei jedem Windows-Start verfügbar sein und als Dienst starten soll, beantworten Sie auch die nächste Frage mit "yes". Dies ist nicht nur für den angedachten SFTP-Server nützlich, sondern kann auch für andere Verbindungen genutzt werden, beispielsweise zur verschlüsselten Übertragung des Mailverkehrs. Anschließend wird die System-Variable "CYGWIN" erfragt. Geben Sie hier den zuvor definierten Wert "ntsec tty" ein. Nun müssen noch Rechte restriktiver gesetzt werden. Geben Sie dazu nacheinander in die Konsole ein:

"touch /var/log/sshd.log"
"chown -R system:system /var/log/sshd.log /var/empty /etc/ssh_h*"

Sie erzeugen damit eine Logdatei für den SSH-Daemon und setzen anschließend die Zugriffsrechte für mehrere Dateien so, dass der Benutzer "System" aus der Benutzergruppe "System" der Eigentümer wird.

Nun kann der SSH-Daemon gestartet werden (künftig startet er im lokalem derzeitigen User-Account per default). Geben Sie also in der Kommandozeile "cygrunsrv --start sshd" ein.

Cygwin

Cygwin

Analog dazu kann man den Dienst mit "stop" statt "start" wieder stoppen. Auch die Windows-Kommandozeile funktioniert: "net start sshd". Und natürlich kann man auch den Weg über die Systemsteuerung - Verwaltung - Dienste gehen.

Nun ist ein erster Test-Login möglich. Einfach "ssh localhost" eingeben. Es empfiehlt sich, einen User mit entsprechend gewünschten Rechten unter Windows anzulegen, den man dann zur Anmeldung von außen nutzen kann. Nun gibt man "ssh-user-config" in die Konsole ein. Man kann alle Fragen mit "no" beantworten, kann sich aber auch Schlüssel-Dateien erstellen. Nutzen Sie in diesem Fall eine Verschlüsselung unter SSH2 zum Login an diesem SSH-Server. Das Passwort sollte natürlich nicht einfach zu erraten sein. Bedenken Sie, dass der Zugriff aus dem Internet möglich ist, sofern in Router oder Firewall nicht verboten (z.B. bei ausschließlicher Nutzung im Heimnetzwerk). Jetzt existiert ein Verzeichnis .ssh im Home-Verzeichnis des angemeldeten Users. Geben Sie in die Shell "cd" und anschließend "ls -al" ein. Die Rechte auf den Ordner sollten so aussehen: "rwx------". Falls nicht, gibt man das Kommando "chmod 700 .ssh" ein.

Nun ist alles startklar. Die Syntax zum Test des Login per ssh lautet: "ssh username:serverip". Analog dazu per SFTP: "sftp username:serverip". SSH und SFTP nutzen Port 22 zur Kommunikation. Konfigurieren Sie je nachdem Software- und Netz-Hardware entsprechend. Sie können im Verzeichnis /etc-Verzeichnis in der Datei sshd_config den Port umkonfigurieren. Vorgehen: Server stoppen, "cd /etc", "nano sshd_config", Port ändern, speichern, Server starten. Sollte der Zugriff verweigert werden, ändern Sie für die Zeit der Änderung die Rechte per chmod. In jener Datei kann man auch den Zugriff auf bestimmte User beschränken (AllowUsers, siehe Handbuch, Befehl: "man sshd").

Cygwin hat keine eigene Benutzerverwaltung, sondern greift auf Benutzerkonten von Windows zurück. Es gilt eine große Einschränkung bei Cygwin: Es ist nicht möglich, sich als ein anderer User in der Shell anzumelden als der gerade angemeldete User unter Windows. SSH funktioniert außerdem nur unter dem Benutzerkonto, unter dem Cygwin installiert wurde, da dieser Benutzer in der Datei /etc/passwd definiert ist. Beides kann man umgehen, indem man in besagter Datei sich die Zeile mit den Daten des vorhandenen Benutzers kopiert und den Benutzernamen umträgt. Beispiel:
test:unused_by_nt/2000/xp:0:0:PCtest,S-1-1-11-111111111-222222222-333333333-500:/home/test:/bin/bash

Die 2 Zahlen hinter "by_nt/2000/xp" sollten auf ungenutzte IDs umgestellt werden, sie kennzeichnen die Gruppen- bzw. Benutzer-ID. Gleiche Gruppen-ID bedeutet auch gleiche Gruppen-Zugehörigkeit. Genauso verhält es sich mit der Benutzer-ID. Zwischen den beiden hinteren Doppelpunkten wird das Home-Verzeichnis definiert, welches vorher ggf. erstellt werden muss.

(S)FTP-Server unter SuSE Linux vsftpd

Natürlich muss man sich bei so einem Artikel für eine Distribution entscheiden. Meine Wahl fiel auf SuSE Linux, da diese Distribution derzeit einfach am weitesten verbreitet ist. Ausgangspunkt ist eine Standard-Installation von SuSE Linux 9.2, in der bereits SSH eingebunden ist. Google gab mir schnell Auskunft, ob es ein RPM-Paket der aktuellen vsftpd-Version für SuSE gibt. Für diesen Artikel war Version 2.0.3 aktuell. Das Paket hört auf den Namen vsftpd-2.0.3-1.1.i586.rpm für SuSE People, welches sich über "YAST" bequem installieren lässt. vsftpd steht für "very secure ftp daemon", ist primär auf Sicherheit optimiert und beherrscht auch SFTP.

Jetzt geht's in der Shell weiter. Es werden root-Rechte benötigt und anschließend muss die vsftpd.conf im /etc-Verzeichnis editiert werden. Geben Sie "vi /etc/vsftpd.conf" ein. Vor folgenden Zeilen sollte das führende Kommentarzeichen ("#") entfernt werden:

  • write_enable=YES (Schreibzugriff erlaubt)
  • ftpd_banner="Willkommensmeldung bei Login"
  • local_enable=YES (Lokale Benutzer dürfen sich anmelden)
  • chroot_local_user=YES (Begrenzung auf vorgegebenes Stammverzeichnis)

Hilfe zur weiteren Konfiguration finden Sie durch Eingabe von "man vsftpd.conf"

Hilfreiche vim-Kommandos beim Editieren:

  • "i" - vor aktuellem Zeichen Einfügemodus aktivieren
  • "ESC" - Einfügemodus beenden
  • "o" - neue Zeile
  • "dd" - Zeile löschen
  • ":wq" - Speichern und Beenden
  • ":q!" - ohne Speichern Beenden

Jetzt kann der vsftp-Daemon aktiv geschaltet werden. Geben Sie "vi /etc/xinetd.d/vsftpd" ein, ändern Sie die Zeile "disable = yes" auf "disable = no" und speichern diese Änderungen. Schauen Sie, dass kein anderer FTP-Server parallel läuft. Dies kann an dieser Stelle in der Kommandozeile mit "nmap localhost" überprüft werden (wenn FTP gelistet wird - das Paket "nmap" muss dafür installiert sein). Nun müssen noch die Netzwerkdienste neu gestartet werden. Geben Sie dazu "/etc/init.d/xinetd restart" ein. Der FTP-Server ist nun aktiv, mit "ftp localhost" kann dies geprüft werden. Nach dem Login (einfach den derzeit am System angemeldeten User benutzen) kann man prüfen, ob die Begrenzung auf das vorgegebene Stammverzeichnis funktioniert. Dazu: 1. "ls", 2. "cd ..", 3. "ls". Der gleiche Verzeichnisinhalt sollte in beiden Fällen angezeigt werden.

vsftpd

vsftpd

Mit "sftp localhost" sollte es natürlich ebenfalls funktionieren.

Neue Benutzer und Gruppen lassen sich per "YAST - Sicherheit und Benutzer" anlegen. Hier der Weg über die Kommandozeile:
Für die Benutzerverwaltung wird zunächst eine neue Gruppe angelegt, in der anschließend die virtuellen FTP-User hineinkommen. Geben Sie in der Shell "groupadd ftpuser" ein. Nun kann ein neuer Benutzer angelegt werden. Ein Beispiel:

useradd -d /home/tester -g ftpuser -m -s /sbin/false tester
Dabei gilt:

  • "-d" = Homeverzeichnis
  • "-g" = primäre Gruppenzugehörigkeit
  • "-m" = Homeverzeichnis wird gleich mit angelegt, per default unter /home/
  • "-s" = Login-Shell (hier benutzt: User kann sich nur am FTP-Server anmelden, nicht am System)

Abgeschlossen wird die Zeile mit dem Accountnamen. Geben Sie anschließend folgende Zeile ein:
passwd username

In diesem Beispiel also gebe ich Folgendes ein: "passwd tester". Nun kann ich das Passwort definieren. Es gibt für "useradd" zwar den Parameter -p für eine Passwortdefinition, der Login funktioniert aber zumindest bei der hier verwendeten Distribution damit nicht, da SuSE standardmäßig mit Blowfish verschlüsselt, welches vsftpd nicht entschlüsseln kann. Dies gilt nicht, wenn die Standard-Verschlüsselungsmethode bei der SuSE-Installation geändert wurde.

Es lässt sich auch eine Liste der Usernamen pflegen, die sich am FTP-Server anmelden dürfen. Dieses Verfahren ist zu empfehlen, denn so können andere auf dem System vorhandene Accounts sich nicht anmelden, sofern dies nicht explizit erlaubt wird. Legen Sie eine neue Datei "/etc/vsftpd.user_list" an und tragen Sie die Benutzernamen untereinander ein, die sich am FTP-Server anmelden dürfen. Am Ende der Datei "/etc/vsftpd.conf" tragen Sie folgende Zeilen ein:

userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list

Aktivieren und ändern Sie die Zeile "chroot_list_enable" auf "NO":
chroot_list_enable=NO
"chroot" definiert die Verzeichniswurzel für Programme und Logins neu. Dem Benutzer wird im Falle eines FTP-Logins also als root-Pfad "/" angezeigt.

FTP-Clients - Teil 2

SFTP-Client

Für den Zugriff auf einen SFTP-Server benötigen wir jetzt noch einen Client, der diese Zugriffsmethode beherrscht. WinSCP ist hier mit die erste Wahl. Der Name WinSCP täuscht, das Programm beherrscht auch SFTP.

WinSCP

WinSCP

Und natürlich beherrscht WinSCP auch SCP-Verbindungen. Im Verbindungsmanager lässt sich die Verbindungsart wählen.

Das bereits weiter oben vorgestellte freie FTP-Programm FileZilla beherrscht SFTP ebenfalls. Der Server wird per "sftp://" + IP oder DNS-Name angesprochen. Der Port lautet 22 per default.

FileZilla

FileZilla

As Kommandozeilen-Client empfiehlt sich PSFTP aus den PuTTY-Downloads.

Geben Sie open servername ein und authentifizieren sich. Mit dem Befehl "help" kann man einen Blick auf die zur Verfügung stehenden Kommandos werfen, welche mit einer Funktionsbeschreibung versehen sind.

Für Nutzer des Total Commanders gibt es auch ein SFTP- sowie FTPS-Plug-In auf der Homepage von Total Commander. Am Beispiel vom SFTP-Plug-In sei die Benutzung kurz skizziert: Nach der Installation wird das Plug-In automatisch eingebunden, falls nicht, kann man es manuell in der Konfiguration unter Dateisystem-Plugins einbinden. Nun kann man [ALT]+[F1] drücken, "Netzwerkumgebung" wählen, dort findet man nun "Secure FTP Connections" und kann mit "Edit connections" Verbindungen einrichten.

Windows-Kommandozeile

Die Windows-Kommandozeile beherrscht auch von Haus aus FTP. Klicken Sie auf Start - Ausführen und geben Sie "cmd" ein, damit sich die Kommandozeile öffnet. Geben Sie "ftp" ein, schon kann es losgehen. Der Befehlssatz kann mit der Eingabe von "help" eingesehen werden. Die Benutzung ist denkbar einfach. Eine Session kann so aussehen:

open ftp.servername.de (öffnet Serververbindung, Kurzform nach cmd: "ftp ftp.servername.de")
 username (Benutzername)
 password (Passwort)
 binary (stellt auf Binary-Transfermodus um, da ich gepackte Dateien transferieren möchte)
 cd folder (wechselt ins Verzeichnis "folder")
 get "datei.7z" (lädt die Datei "datei.7z" herunter)
 put "datei2.7z" (lädt die Datei "datei2.7z" hoch)
 quit

Dies ist beispielsweise praktisch, wenn man eine Datensicherung per FTP auf einen entfernten Rechner laden möchte. Um noch weniger Arbeit zu haben, kann man das Ganze in eine Batch-Datei packen. Im Pfad der Batchdatei kann man dann eine Textdatei mit den FTP-Kommandos ablegen - in diesem Beispiel vom Benutzernamen bis zum quit in eine Datei "ftptransfer.txt". In einer Batch kann die Befehlsfolge so aussehen:

ftp -s:ftptransfer.txt ftp.servername.de

Mit dem Parameter -s werden die FTP-Befehle in der Textdatei abgearbeitet.

FXP-Transfer

FXP (File Exchange Protocol) ist ein Verfahren, um Daten direkt zwischen 2 Servern zu transferieren, ohne den Umweg über einen Client nehmen zu müssen. Dazu dürfen aber beide involvierte FTP-Server dieses Feature nicht verbieten.

FXP ist kein spezielles FTP-Feature, sondern nutzt die Eigenheiten von Aktiv- und Passiv-Modus aus. Zu einem 1. Server sendet ein geeigneter FTP-Client das PASV-Signal und erhält Port und IP-Adresse des Servers. Zu einem 2. Server sendet es den eben erhaltenen Port + IP-Adresse im PORT-Signal, wodurch eine Verbindung zwischen den betroffenen Servern aufgebaut wird. Mittels STOR- (1. Server) bzw. RECV-Signal (2. Server) können Datentransfers nun initialisiert werden.

Ein Client, der FXP beherrscht, ist Staff-FTP.

Die erste Verbindung wird normal aufgebaut, vor der 2. Verbindung muss der im Screenshot markierte Button angeklickt werden.

FXP mit Staff-FTP

FXP mit Staff-FTP

Eine Alternative dazu ist FlashFXP.

Fehlersuche beim Herstellen von FTP-Verbindungen

In diesem letzten Teil geht es um die Fehlersuche, denn nicht immer läuft alles nach Plan, kurz: Die Verbindung vom Client zum Server funktioniert nicht. Eine Fehlersuche kann man nun auf der Server- und auf der Client-Seite starten. Beide Fälle werden im Folgenden anhand von Checklisten beschrieben.

Fehlersuche auf der Server-Seite

Flussdiagramm Fehlersuche Serverseite

Flussdiagramm Fehlersuche Serverseite

    1. Läuft das FTP-Server-Paket?
      Vorgehen: Schauen Sie im Taskmanager nach, ob der FTP-Server läuft. Sollte er als Dienst oder in den Tray (neben der Systemuhr) minimiert laufen, müssen Sie in den Prozessen nachschauen.
      Lösung: Starten Sie den FTP-Server.
    2. Funktioniert der Login lokal?
      Vorgehen: Loggen Sie sich mit einem FTP-Client auf demselben Rechner ein, wo der FTP-Server läuft. Die Server-Adresse lautet 127.0.0.1 - Benutzerdaten nicht vergessen. Es muss mindestens ein Account bestehen, mit dem man sich anmelden kann. Außerdem muss für den User ein Startverzeichnis definiert sein.
      Lösung: Erstellen Sie einen Account und definieren Sie ein Startverzeichnis. Zum Testen bietet sich der anonymous-Account an. Kontrollieren Sie, ob die Feststelltaste aktiv ist und deswegen das Passwort falsch geschrieben wurde.
    3. Falls ein 2. Rechner in einem Heim-Netzwerk besteht: Können Sie sich innerhalb des heimischen Netzes einloggen?
      Vorgehen: Finden Sie auf dem Rechner, auf dem der FTP-Server läuft, die IP heraus. Öffnen Sie die Eingabeaufforderung. Gehen Sie dazu ins Startmenü und klicken auf "Ausführen", geben "cmd" ein und drücken Enter. Die Eingabeaufforderung öffnet sich. Geben Sie "ipconfig" ein und drücken Enter. Sie bekommen nun mehrere Ausgaben, unter anderem Ihre IP-Adresse. Sollten mehrere Adapter angezeigt werden, schauen Sie nach einem "LAN-Adapter".
ipconfig

ipconfig

Gehen Sie nun zu dem 2. Rechner und öffnen wieder die Eingabeaufforderung. Stellen Sie sicher, dass der Rechner, auf dem der FTP-Server läuft, erreichbar ist. Geben Sie in die Kommandozeile "ping ip-adresse-des-ftp-servers" ein (und setzen natürlich die vorhin ermittelte IP ein). Der Rechner sollte antworten und es sollten relativ kurze Antwortzeiten ausgegeben werden.
Starten Sie nun ein FTP-Client-Programm und geben als Server-Adresse wiederum den Namen des Rechners an und ergänzen die Benutzerdaten. Der Login sollte hier auch funktionieren.
Lösung: Falls es nicht funktioniert, könnte eine Software-Firewall schuld sein. Deaktivieren Sie diese testweise bei getrennter Internet-Verbindung. Sollte es nun gehen, können Sie die Software-Firewall wieder aktivieren und müssen Port 20 und 21 freigeben sowie für den PING-Befehl ICMP erlauben. Wie das geht, wird in der Antwort auf die folgende Frage erklärt.

Tipp:In einem lokalen Netzwerk funktioniert auch die Namensauflösung mittels Rechnername. Ermitteln Sie den Rechnernamen, wo der FTP-Server läuft. Drücken Sie dazu Systemsteuerung - System [Win-Taste]+[Pause], wechseln zu der Karteikarte "Computername" und lesen ihn ab, probieren wieder einen PING von einem anderen Rechner, nur diesmal auf den Rechnernamen. Sie können also im FTP-Client auch den Rechnernamen statt der IP eintragen, sofern Sie einen FTP-Server im selben Netzwerk-Bereich erreichen wollen. Der Login sollte ebenfalls funktionieren.

Ping-Tests

Ping-Tests

  1. Kann sich ein(e) Freund(in) bei Ihnen einloggen?
    Vorgehen: Die beste Variante, um einen FTP-Server von außen zu testen (d.h. aus dem Internet), ist ein Test von einem Freund - am besten, Sie sind mit ihm per Telefon, Voice-over-IP (Telefon, Skype, Teamspeak o.ä.) oder per Messenger verbunden, um schnell zu reagieren. Um die Fehlerquelle DynDNS auszuschließen, sollte er als Serveradresse Ihre öffentliche IP nutzen. Gehen Sie auf dem Rechner mit dem FTP-Server auf die Seite http://www.wieistmeineip.de/, um sie herauszufinden. Diese IP-Adresse sollte Ihr Freund als Serveradresse im FTP-Client samt der Benutzerdaten eingeben.
    Lösung: Sollte dies nicht funktionieren, kontrollieren Sie Folgendes:
    Setzen Sie eine Software-Firewall ein? Sie sollte entsprechend so konfiguriert sein, dass der FTP-Server nach außen kommunizieren kann. Dies gilt auch für die Windows-Firewall. Bei Benutzung der Windows-Firewall muss die Kommunikation auf Port 21 geöffnet werden. Öffnen Sie die Firewall-Konfiguration in der Systemsteuerung, wechseln zu der Karteikarte "Erweitert", markieren die betreffende Netzwerkverbindung (üblicherweise LAN-Verbindung), klicken auf "Einstellungen" und setzen das Häkchen bei FTP-Server in der Karteikarte "Dienste". Wechseln Sie nun noch in die Karteikarte "ICMP" und setzen ein weiteres Häkchen bei "Eingehende Echoanforderung erlauben" (PING). Mit 2 Bestätigungen per Klick auf den OK-Button werden die Einstellungen übernommen. Der FTP-Server ist nun hinter der XP-Firewall erreichbar und der Rechner auf dem betreffenden Netzwerk-Interface lässt sich anpingen.
ICMP bei der Windows-Firewall einstellen

ICMP bei der Windows-Firewall einstellen

Bei anderen Software-Firewalls werden Sie meist beim ersten Zugriff gefragt, ob der Zugriff erlaubt werden soll. Falls nicht, können Sie analog zur Windows-Firewall- und folgender Router-Konfiguration manuell eine Freigabe erstellen. Da natürlich nicht jede Software-Firewall-Konfiguration in so einem Artikel berücksichtigt werden kann, werde ich hier beispielhaft die Konfiguration in der Kerio Personal Firewall beschreiben (Standard-Installation, also kein Lernmodus, d.h. keine Nachfragen, ob Zugriff erlaubt werden soll). In der Konfigurations-Oberfläche wechseln Sie zur "Netzwerksicherheit" und dort in die Karteikarte "Vordefiniert". Möchten Sie, dass Ihr FTP-Server aus dem Internet angepingt werden kann, müssen Sie "Ping and Tracert in" aus dem Internet erlauben (auf das rote Kreuz klicken). Kerio PF arbeitet applikations-basierend, deswegen muss in der Karteikarte "Anwendungen" der Paketfilter konfiguriert werden. Klicken Sie dazu auf den gleichnamigen Button und fügen Sie eine neue Regel analog zum folgenden Screenshot hinzu:

Analoge Einstellungen bei der Kerio Firewall

Analoge Einstellungen bei der Kerio Firewall

Mit den Standard-Einstellungen dieser Software-Firewall funktionieren nun der Login und der Dateitransfer. Andere Software-Firewalls verbieten jeglichen Verkehr – eingehend und ausgehend. Hier müssen entweder Port 20 ausgehend und Port 21 eingehend erlaubt werden (FTP-Server wird aktiv angesprochen) oder ein Portbereich im FTP-Server definiert und Port 21 eingehend in der Software-Firewall erlaubt werden (FTP-Server wird passiv angesprochen). Letzteres ist mit GuildFTPd in der momentanen Version nicht möglich, hier bräuchten Sie bspw. Serv-U als FTP-Server. Falls Sie eine Software-Firewall einsetzen, achten Sie bitte darauf, diese stets zu aktualisieren.
Benutzen Sie einen Router? Dieser könnte ebenfalls die Verbindung verhindern. Es muss ein Port-Forwarding durchgeführt werden. Dabei werden IP-Pakete aus dem Internet auf einem bestimmten Port (hier 21) an einen definierten Port + IP-Adresse hinter dem Router weitergeleitet.
Rufen Sie die Konfiguration Ihres Routers auf. Ihr Handbuch zum Router hilft Ihnen bei der Frage weiter, wie das Port-Forwarding konfiguriert werden muss. Manchmal nennt sich dieser Punkt auch "Virtual Server", "NAT Setup" o.ä. Sollten Sie Ihr Handbuch verlegt haben, können Sie es sich meist von der Hersteller-Seite als PDF herunterladen. Generell müssen Sie Port 21 TCP auf den Rechner "forwarden", auf dem der FTP-Server läuft.
Beispiel für einen Router Modell Draytek 2900G: Webinterface des Routers aufrufen – NAT Setup – Configure Port Redirection Table – Servicename: FTP – Protocol: TCP – Public Port: 21 – Private IP: 192.168.1.111 – Private Port: 21 – Häkchen bei Active – Klick auf OK.
Weitere Anleitungen finden Sie unter anderem hier: http://portforward.com/routers.htm

Wichtiger Hinweis: Sehen Sie davon ab, Ihren Rechner in die DMZ (Demilitarized Zone) – falls vorhanden – aufzunehmen; tun Sie dies auch nicht zu Testzwecken. Sie gefährden damit die Sicherheit des gesamten Netzwerkes, das sich hinter dem Router befindet.

SSH wie auch SFTP benutzen Port 22 zur Kommunikation. Wer die sichere Kommunikation (Teil 2) nutzt, sollte analog zu Port 21 wie eben beschrieben vorgehen.
Es empfiehlt sich, vorher feste IP-Adressen im Heim-Netzwerk zu vergeben und damit einhergehend einen vorhandenen DHCP-Server im Router zu deaktivieren. Beispiel: Öffnet sich das Webinterface des Routers bei Eingabe der IP 192.168.1.1, könnten Sie Ihre Clients mit den IP-Adressen 192.168.1.101, 192.168.1.102 usw. konfigurieren. Standard-Gateway und bevorzugter DNS-Server ist in beiden Fällen Ihr Router, in diesem Beispiel also 192.168.1.1. Dies können Sie konfigurieren unter Systemsteuerung – Netzwerkverbindungen – Rechtsklick auf LAN-Verbindung und Eigenschaften wählen – Internetprotokoll (TCP/IP) wählen – Eigenschaften. Die vergebene IP können Sie nun beim Port-Forwarding als Zielrechner angeben. Was passiert nun mit Datenpaketen, die auf Port 21 ankommen? Sie werden an den Zielrechner weitergeleitet.

  • 5. Funktioniert der Login bei Nutzung des DynDNS-Namens?
    Vorgehen: Abhängig davon, welcher DynDNS-Client genutzt wird, gibt es zwei Wege. Wird ein Software-Client (DynDNS Updater, DirectUpdate, DeeEnEs etc.) eingesetzt, kann man selber testen. Nutzt man den Client in einem Router, bitten Sie einen Freund, den Login mit dem registrierten DynDNS-Namen durchzuführen, da nur bei sehr wenigen Routern der DynDNS-Name auch auf der internen (LAN-)Seite erreichbar ist.
    Lösung: Sollte dies nicht funktionieren, wird womöglich der Hostname nicht richtig aufgelöst oder der DynDNS-Client updatet nicht. Geben Sie in die Eingabeaufforderung von Windows den Befehl "nslookup" ein und bestätigen mit Enter. Jetzt können Sie eine Domäne eingeben – hier geben Sie Ihren DynDNS-Namen ein und bestätigen mit Enter (Sie verlassen den Dialog per Eingabe von "exit" + Enter). Üblicherweise dürfte eine der Antworten so lauten: "Nicht autorisierte Antwort: Name: Ihr_DynDNS_Name, Address: Die_assozierte_IP".
nslookup

nslookup

Vergleichen Sie die IP-Adresse mit der auf http://www.wieistmeineip.de/. Sie sollte identisch sein. Falls nicht, synchronisiert der DynDNS-Client im Router oder auf Ihrem Rechner nicht richtig. Prüfen Sie die Konfiguration, besonders die richtige Schreibweise des Hostnamens, des Benutzernamens und des Passworts. Benutzername und Passwort können Sie zusätzlich auf http://www.dyndns.org/ prüfen. Oben rechts befindet sich der Login (Sign In). Nach erfolgreichem Login können Sie ebenfalls dort oben "My Services" anklicken. Ihr Hostname wird nun unten unter "Host Level Services" angezeigt. Durch Klick auf "Dynamic DNS" sehen Sie die assoziierte IP-Adresse und den letzten Synchronisationszeitpunkt. Bei "New IP Adress" wird Ihre derzeitige IP-Adresse angezeigt. Ist diese abweichend von der "IP in Database/DNS", klicken Sie auf "Modify Host". Die IP-Adresse ist nun in der DynDNS-Datenbank aktualisiert und Ihr FTP-Server sollte erreichbar sein über den DynDNS-Namen.

Fehlersuche auf der Client-Seite

Flussdiagramm Fehlersuche Clientseite

  1. Egal, was ich versuche, es kommt zu keinem Server eine Verbindung zustande, es kommt immer ein Timeout.
    Lösung: Wenn Sie eine zusätzliche Software-Firewall installiert haben, kontrollieren Sie, ob diese den Verbindungsaufbau blockiert. Nützlich hierzu ist die Log-Datei des Programms. Konfigurieren Sie die Software entsprechend um, sodass der FTP-Client kommunizieren kann.
  2. Ein bestimmter FTP-Server im Internet ist nicht erreichbar, es kommt immer ein Timeout.
    Lösung: Zuerst sollten Sie sicherstellen, dass Servername, Benutzername und Passwort richtig geschrieben sind.
    Der erste Weg zur Prüfung, ob ein Server erreichbar ist, ist der PING-Befehl. Dies setzt natürlich voraus, dass ICMP von keiner Firewall geblockt wird. Geben Sie in der Kommandozeile von Windows (Start - Ausführen: cmd) den Befehl "ping servername" ein. Anhand der Antworten kann man erste Schlüsse ziehen.
    Antwortet der Server und Sie bekommen 4 Zeilen mit Millisekundenwerten ausgegeben, sieht das so aus:

    Antwort auf PING-Anfrage

    Antwort auf PING-Anfrage

    Der Rechner ist erreichbar. Funktioniert jetzt kein Zugriff per FTP, sollten Firewalls auf Client- und Server-Seite auf korrekte Konfiguration geprüft werden. Haben Sie alle anderen Fehlerquellen ausgeschlossen, ist der FTP-Dienst auf dem Server höchstwahrscheinlich derzeit nicht verfügbar.

Bekommen Sie die folgende Meldung…

Antwort auf PING-Anfrage - data-lazy-srcset= Fehler">
…, deutet dies auf ein Problem mit der Namensauflösung (DNS) hin. Probieren Sie in diesem Fall, ob beispielsweise der Befehl "ping www.google.de" oder "ping www.t-online.de" erfolgreich ist. Falls dieser Test positiv ist, wird der gewünschte Host-Name des FTP-Servers nicht korrekt aufgelöst. Geben Sie in die Kommandozeile den Befehl "ipconfig /flushdns" ein. Damit wird der DNS-Cache geleert.
Falls immer noch keine korrekte Namensauflösung möglich ist, sollten Sie Ihre Internetverbindungs-Einstellungen überprüfen, besonders den bevorzugten DNS-Server und die IP-Konfiguration.
Lautet die Antwort "Zielhost nicht erreichbar", ist das Routing zum Ziel-Host fehlerhaft, wenn Sie ansonsten normal im Internet surfen können.

Ping mit kompletter URL

Ping mit kompletter URL

Bekommen Sie generell diese Antwort, sollten Sie die Subnetzmasken Ihrer Netzwerkumgebung prüfen.
Bekommen Sie viele Anforderungsüberschreitungen, ist der Host zeitweise oder komplett nicht erreichbar.

Ping mit IP

Ping mit IP

Dies deutet auf eine nicht bestehende Netzwerkverbindung, Netzwerküberlastung, ARP-Auflösungsfehler auf dem Weg zum Server, Paketfilterung (Firewall) oder Routingfehler hin. Manchmal hilft auch schon ein simpler Router-Neustart (wenn vorhanden), aber auch die Suche nach einem Traffic verursachenden Wurm kann manchmal zur Beseitigung einer Überlast führen. Störungen des Internets können Sie hier nachlesen: http://www.heise.de/imonitor/
Bekommen Sie selbst bei einem "ping localhost" / "ping 127.0.0.1" Fehlermeldungen, sollten Sie den TCP/IP-Stack neu installieren. Wechseln Sie dazu in die Systemsteuerung - Netzwerkverbindungen - Rechtsklick LAN-Verbindung - Eigenschaften - TCP/IP-Protokoll - Deinstallieren - anschließender Neustart - danach wieder in diesen Dialog wechseln und TCP/IP-Protokoll neu installieren.

  • Der Login funktioniert, aber ich bekomme nichts hoch- oder heruntergeladen.
    Lösung: Möglicherweise blockiert eine Firewall den Transport. Sollten Sie den aktiven Verbindungsmodus verwenden, stellen Sie in Ihrem FTP-Client den passiven Verbindungsmodus ein und probieren es erneut.
  • Dateien werden unvollständig hoch- oder heruntergeladen.
    Lösung: Möglicherweise wird der falsche Transfermodus (ASCII / Binär - welche Wahl bei welchem Dateityp die richtige ist, wurde eingangs des 1. Teils der Artikelserie erklärt) verwendet. Suchen Sie in Ihrem FTP-Client die entsprechende Einstellung und stellen Sie auf "Automatisch" um. Sollte der FTP-Client die falsche Wahl treffen, können Sie den Transfermodus selber bestimmen, falls ein Update des FTP-Programmes nicht helfen sollte.
    Ein weiterer, schwieriger zu lokalisierender Grund einer fehlerhaften Übertragung ist der MTU-Wert. Eine ausführliche Anleitung zu dieser Problematik finden Sie hier: http://www.gschwarz.de/mtu-wert.htm

 

45 Bewertungen

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne Ø 4,36
Heim-FTP-Server – Einleitung, Grundlagen und Tutorial
Loading...

2 Antworten auf “Heim-FTP-Server – Einleitung, Grundlagen und Tutorial”

  1. Klaus

    Ich empfinde die Qualität der Beschreibung als besonders
    gut, eine ganz klare Wissensvermittlung.
    # K.J. #

Hinterlasse eine Antwort

(wird nicht veröffentlicht)

Nutzungsrichtlinien beachten