Eine kurze Erläuterung der Unterschiede zwischen FTP, FTPS und SFTP

Eine kurze Erläuterung der Unterschiede zwischen FTP, FTPS und SFTP

Unabhängig davon, ob es sich um eine Netzwerkfestplatte oder einen Cloud-Speicher handelt, ist das Hochladen ein sehr einfacher Vorgang. Was bedeutet das FTP-Protokoll, das von diesen praktischen und benutzerfreundlichen Upload- und Organisationstools verwendet wird, und was sind die Unterschiede zwischen den komplexen Modi?

Ergouzi hat vor kurzem eine Website zum Teilen von Fotos erstellt. Jeden Tag laden viele Leute viele Fotos auf seine Website hoch. Diese Fotos werden auch über eine interne Logik mit dem Youpai-Cloud-Speicher synchronisiert, was sehr praktisch ist.

Doch schon bald traten Probleme auf. Da der Plan zur Verwaltung der Benutzerfotos von Anfang an nicht gut umgesetzt wurde, wurden die Inhalte im Cloud-Speicher immer chaotischer, je mehr Bilder die Benutzer hochluden, und Ergouzi fühlte sich beim Betrachten sehr unwohl. Ergouzi nutzte die heutige Ruhepause und beschloss, einige Anpassungen vorzunehmen.

Ergouzi öffnete die Yapai Cloud Console und suchte kreuz und quer, konnte jedoch die Funktion zum Verschieben der entsprechenden Dateien in das entsprechende Verzeichnis nicht finden. Nachdem er den Upyun-Kundendienst um Hilfe gebeten hatte, erklärte ihm die Kundendienstmitarbeiterin Weiwei, dass er FTP-Tools zum Verwalten von Cloud-Speicherdateien verwenden könne. Sie stellte Ergouzi auch ein ausführliches Hilfedokument zur Verfügung – FTP-Tool zum Herstellen einer Verbindung zum Upyun-Cloud-Speicher [https://help.upyun.com/knowledge-base/developer_tools/].

Ergouzi stellte schließlich über das FTP-Tool eine Verbindung zum Cloud-Speicher her. Nach einigen Vorgängen konnte Ergouzi die Fotos erfolgreich übersichtlich organisieren. Als Er Gouzi diese Speicherschnittstelle betrachtete, die Menschen mit Zwangsstörungen zufriedenstellen und beruhigen würde, und dann das FTP-Tool sah, das diesen Effekt erzielen konnte, nickte er zufrieden und beschloss, sich aufs Ganze einzulassen, sich mit FTP gründlich vertraut zu machen und herauszufinden, ob FTP noch weitere nützliche Funktionen besitzt.

Einführung in FTP, FTPS und SFTP

FTP

Bevor Ergouzi sich die relevanten Funktionen ansah, stellte er fest, dass der Client über drei verschiedene Protokolle verfügt, nämlich FTP, FTPS und SFTP. Um herauszufinden, welche das sind, öffnete Ergouzi die universelle Enzyklopädie.

Lassen Sie uns zunächst verstehen, was FTP ist. Wikipedia sagt: FTP oder File Transfer Protocol (Englisch: Die Abkürzung für File Transfer Protocol) ist ein Anwendungsschichtprotokoll, das zum Übertragen von Dateien zwischen Clients und Servern in Computernetzwerken verwendet wird. Ein vollständiger FTP besteht aus einem FTP-Server und einem FTP-Client. Der Client kann über das FTP-Protokoll lokale Dateien auf den Server hochladen und auch Dateien vom Server auf den lokalen Computer herunterladen. Es handelt sich um eines der ältesten noch verwendeten Dateiübertragungsprotokolle und eine sehr praktische Möglichkeit zum Verschieben von Dateien.

So funktioniert FTP

Für eine FTP-Verbindung sind zwei Parteien erforderlich, ein FTP-Server und ein Client, um die Kommunikation im Netzwerk herzustellen. Beim Aufbau einer FTP-Verbindung gibt es zwei unterschiedliche Kommunikationskanäle. Einer davon wird als Befehlskanal bezeichnet und seine Aufgabe besteht darin, Befehle auszugeben und darauf zu reagieren. Der andere ist der Datenkanal, der für den Datenaustausch zwischen Client und Server verwendet wird.

Beim Übertragen von Dateien per FTP müssen Benutzer die Berechtigung zum Übertragen von Dateien einholen, indem sie dem FTP-Server Anmeldeinformationen bereitstellen. Natürlich benötigen einige öffentliche FTP-Server keine Anmeldeinformationen, um auf ihre Dateien zuzugreifen, aber die Sicherheit der Datenübertragung kann nicht garantiert werden. Das Senden unverschlüsselter Daten in einem öffentlichen Netzwerk ist sehr gefährlich. Um die Sicherheit der übertragenen Daten zu schützen, werden daher die folgenden beiden Protokolle von FTP abgeleitet: FTPS und SFTP.

FTPS

Als nächstes recherchierte Ergouzi und fand heraus, dass FPTS über zwei Modi verfügt: FTPS Implicit SSL und FTPS Explicit SSL, die beide mit SSL verschlüsselt sind. Was ist also der Unterschied zwischen den beiden?

  • FTPS Implicit SSL: Dieser Modus läuft normalerweise auf Port 990. In diesem Modus ist für den gesamten Datenaustausch die Herstellung einer SSL-Sitzung zwischen Client und Server erforderlich. Der Server lehnt alle Verbindungsversuche ab, bei denen kein SSL verwendet wird.

  • FTPS Explicit SSL: Der Server kann sowohl FTP- als auch FTPS-Sitzungen unter explizitem SSL unterstützen. Vor dem Starten einer Sitzung muss der Client eine unverschlüsselte Verbindung mit dem FTP-Server herstellen und den Befehl AUTH TLS oder AUTH SSL senden, um den Server aufzufordern, den Befehlskanal vor dem Senden der Benutzeranmeldeinformationen auf den SSL-verschlüsselten Kanal umzustellen. Nachdem der Kanal erfolgreich eingerichtet wurde, werden die Benutzeranmeldeinformationen an den FTP-Server gesendet, um sicherzustellen, dass alle Befehle während der Sitzung automatisch über den SSL-Kanal verschlüsselt werden können.

Lassen Sie mich Ihnen eine kurze und einfache Zusammenfassung geben. Wenn der implizite Modus aktiviert ist, wird der Standard-FTP-Port auf TCP/990 geändert, der Server stellt automatisch eine sichere Verbindung her und erfordert, dass der Client auch den sicheren Verbindungsmodus unterstützt, d. h. SSL für die Verbindung verwendet. Wenn der explizite Modus aktiviert ist, sind die Verbindungsmethode und der Standardport dieselben wie bei FTP, aber die sichere Verbindung kann nur mit dem Befehl vom Typ AUTH SSL/TLS aktiviert werden, bevor Daten normal übertragen werden können.

SFTP

Zum Abschluss werfen wir noch einen Blick auf SFTP. SFTP ist die Abkürzung für Secure File Transfer Protocol, auch bekannt als sicheres Dateiübertragungsprotokoll.

Wenn FTPS dem FTP-Protokoll eine SSL-Schicht hinzufügt, dann ist SFTP ein Protokoll, das auf dem Netzwerkprotokoll SSH (Secure Shell) basiert und sich völlig vom oben erwähnten FTP unterscheidet. SFTP verwendet keine separaten Befehls- und Datenkanäle. Stattdessen werden sowohl Daten als auch Befehle in speziell formatierten Paketen über eine einzige Verbindung übertragen.

SFTP bietet zwei Methoden zur Authentifizierung der Verbindung.

  • Genau wie bei FTP müssen Sie beim Verbinden nur Ihre Benutzer-ID und Ihr Passwort bestätigen. Im Gegensatz zu FTP sind diese Anmeldeinformationen jedoch verschlüsselt, was den Hauptsicherheitsvorteil von SFTP darstellt.

  • Zusätzlich zu Passwörtern können Sie zur Authentifizierung und Verbindung über das SFTP-Protokoll auch SSH-Schlüssel verwenden.

Nachdem Ergouzi diese Protokolle verstanden hatte, fiel es ihm leichter, das FTP-Client-Tool zu verwenden. Er konnte das Protokoll und die Verschlüsselungsmethode nach seinen Bedürfnissen ändern, ohne sich Sorgen machen zu müssen, dass er eine bestimmte Einstellung nicht verstand.

Allerdings tauchen neue Fragen auf. Ergouzi sieht, dass die Übertragungsmodi in den Übertragungseinstellungen hier in aktiv und passiv unterteilt sind. Was bedeutet das? Er stellte Fragen, wenn er etwas nicht verstand, und öffnete Baidu oder Google …

Der Unterschied zwischen dem aktiven Modus und dem passiven Modus der FTP-Software

Aktiver Modus

Im Allgemeinen ist der Standardmodus von FTP der aktive Modus, auch Portmodus genannt.

Es funktioniert in zwei Schritten:

  • Zunächst richtet ein zufälliger Port auf dem Client einen Befehlskanal mit dem FTP-Port 21 auf dem Server ein. Der Client sendet einen PORT-Befehl, um anzugeben, dass der Server eine Verbindung zu einem der Client-Ports herstellt und einen Datenkanal aufbaut.

  • Der Server stellt dann von Port 20 eine Verbindung zum für den Datenkanal angegebenen Client-Port her. Sobald die Verbindung hergestellt ist, können Dateiübertragungen über diese Client- und Server-Ports erfolgen.

Passiver Modus

In der Spalte „Übertragungsmodus“ können Sie auch manuell auf den passiven Übertragungsmodus umschalten. In diesem Modus stellt der Client beim Übertragen von Dateien zunächst über einen zufälligen Port A eine Verbindung zu Port 21 auf dem Server her und gibt einen PASV-Befehl aus, um einen Befehlskanal einzurichten. Dadurch wird dem Server mitgeteilt, dass dies eine Verbindung im passiven Modus ist. Der Server öffnet dann einen zufälligen Port für die Datenübertragung, und der Client richtet einen Datenkanal über einen zufälligen Port B ein, der sich von dem Port unterscheidet, der den Befehl ausgegeben hat, und führt so die Dateiübertragung durch.

Der Unterschied zwischen dem passiven und dem aktiven Modus besteht darin, dass der Client die Datenverbindung initiiert. Im aktiven Modus initiiert der Server eine Datenverbindung mit dem Client, nachdem der Client eine Verbindung über den Befehlskanal hergestellt hat. Im passiven Modus initiiert der Client die Datenverbindung mit dem Server, nachdem der Befehlskanal hergestellt wurde.

Aufgrund dieses Unterschieds können wir die Vor- und Nachteile beider aufzeigen. Beispielsweise ist der aktive Modus für die Verwaltung von FTP-Servern hilfreich, da Sie nur den „Eingangs“-Port 21 und den „Ausgangs“-Port 20 öffnen müssen. Da der Port, über den der Server eine Verbindung zum Client herstellt, jedoch zufällig ist, kann es sein, dass der Client die Firewall auslöst oder sogar direkt von der Firewall blockiert wird. Im Gegenteil, der passive Modus ist für die Verwaltung von Clients von Vorteil.

Ich hätte nicht erwartet, dass ein scheinbar einfaches Speichertool tatsächlich so viele Klassifizierungen und Unterschiede aufweist. Unterschiedliche Modi und Methoden können unterschiedlichen Anforderungen entsprechen. Es scheint, dass Sie bei der zukünftigen Verwendung des Tools immer noch ein wenig relevantes Wissen erlernen können, wodurch die Verwendung des Tools bequemer und komfortabler wird.

<<:  React implementiert die Erweiterungs- und Reduzierfunktion komplexer Suchformulare

>>:  Eine Fallstudie zur MySQL-Optimierung

Artikel empfehlen

MySQL-Abfragebaumstrukturmethode

Inhaltsverzeichnis MySQL-Abfragebaumstruktur 1. Ü...

So installieren Sie Nginx in CentOS7

Installieren Sie die erforderliche Umgebung 1. gc...

Eine kurze Erläuterung der MySQL-Benutzerberechtigungstabelle

MySQL erstellt bei der Installation automatisch e...

Lösung für das Problem „VMware-virtuelle Maschine ohne Netzwerk“

Inhaltsverzeichnis 1. Problembeschreibung 2. Prob...

jQuery erzielt Vollbild-Scrolling-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

Lösung für das Problem mit verstümmelten chinesischen MySQL-Zeichen

1. Die chinesischen verstümmelten Zeichen erschei...

js realisiert bidirektionale Datenbindung (Accessor-Überwachung)

In diesem Artikelbeispiel wird der spezifische Co...

So aktualisieren Sie Ubuntu 20.04 LTS unter Windows 10

23. April 2020: Heute können Sie mit Ubuntu 20.04...

Implementierungsbeispiel für die Nginx-Zugriffskontrolle

Über Nginx, eine leistungsstarke, leichte Webserv...

Beheben von Problemen mit impliziter MySQL-Konvertierung

1. Problembeschreibung root@mysqldb 22:12: [xucl]...

Befehl zum Entfernen (Löschen) eines symbolischen Links in Linux

Möglicherweise müssen Sie in Linux manchmal symbo...

So installieren Sie MySQL unter Linux (Yum und Quellcode-Kompilierung)

Es gibt zwei Möglichkeiten, MySQL unter Linux zu ...