SCP vs. SFTP: Welches sollten Sie für die Dateiübertragung verwenden?

SCP vs. SFTP: Welches sollten Sie für die Dateiübertragung verwenden?

SCP (Secure Copy) und SFTP (Secure File Transfer Program) sind Alternativen für FTP (File Transfer Protocol), das für nicht geplante Dateiübertragungen nützlich ist. Alle drei können dazu beitragen, Dateien über ein Netzwerkmedium von einem Speicherort an einen anderen zu verschieben. Allerdings sendet FTP Daten im Klartext, während die anderen beiden das SSH File Transfer Protocol (SFTP) für die Kommunikation nutzen.

Was ist SCP?

SCP ist ein nicht interaktives Dateiübertragungsprogramm, das erstmals in 4.2 BSD erschien. In der Vergangenheit wurden Rlogin und SSH verwendet, um Dateien zwischen zwei Computern zu übertragen. Dies machte es anfällig für Remote-Exploits, da es Befehle auf dem Remote-Host ausführte, um eine Datenübertragung zu starten.

Datei- und Verzeichnisübertragungen in SCP können entweder zwischen einem lokalen Computer und einem Remote-Host oder zwischen zwei Remote-Hosts erfolgen. Dies ermöglicht eine größere Flexibilität bei der Arbeit mit verschiedenen UNIX-ähnlichen Distributionen.

Ein Terminal, das eine Dateiübertragung zwischen einem lokalen Computer und einem Remote-Server mithilfe von SCP zeigt.

SCP kann auch mit einem Platzhalterzeichen verwendet werden, um die Übertragung mehrerer Dateien basierend auf Teilzeichenfolgenkriterien zu unterstützen. Ähnlich wie bei direkten Übertragungen können diese Platzhalter auch zum Senden und Empfangen von Dateien und Verzeichnissen verwendet werden.

Was ist SFTP?

Im Gegensatz zu SCP ist SFTP ein Dateiübertragungsprogramm, das ähnlich wie eine FTP-Eingabeaufforderung und eine Remote-Shell funktioniert. Es bietet eine interaktive Eingabeaufforderung, mit der Sie im Dateisystem eines Remote-Computers navigieren und dessen Inhalte bearbeiten können.

SFTP verwendet außerdem mehrere SSH-Funktionen, wie z. B. Komprimierung oder Authentifizierung mit öffentlichen Schlüsseln, um eine Verbindung zu Hosts herzustellen und in den interaktiven Modus zu wechseln. Dies macht es zu einem robusten Remote-Dateisystembrowser für Headless-UNIX-Maschinen.

Ein Terminal, das die SFTP-Eingabeaufforderung anzeigt, die Dateien von einem Remote-Server zurück auf einen lokalen Computer überträgt.

SFTP kann auch zum automatischen Abrufen von Dateien verwendet werden, wenn Sie eine nicht interaktive Authentifizierungsmethode verwenden. Andernfalls werden sie nach erfolgreicher interaktiver Authentifizierung abgerufen.

SCP vs. SFTP: Was ist besser?

Es bestehen einige Ähnlichkeiten zwischen den beiden Dateiübertragungsprogrammen. Beide verwenden TCP-Port 22 und laufen über SSH, wodurch sie hinsichtlich der Sicherheit gleichwertig sind. Darüber hinaus unterstützen beide Programme auch die Übertragung großer Dateien, da es keine Dateigrößenbeschränkungen gibt. Die wesentlichen Unterschiede zwischen SCP und SFTP zeigen sich daher in ihren Spezifikationen und Funktionen.

Funktionalität

Im Kern besteht der Hauptzweck von SCP darin, Daten sicher zwischen zwei Maschinen zu kopieren. Dies zeigt sich in der grundlegenden Syntax des Programms, die erfordert, dass Sie für jede Dateiübertragung eine Quelle und ein Ziel angeben. Dies erleichtert die Arbeit bei einfachen einmaligen Dateiübertragungen.

Mittlerweile ist SFTP ein umfassenderer Dateiübertragungs-Client, der einen Dateibrowser und das Herunterladen mehrerer Dateien bietet. Diese Funktionen machen SFTP ideal für Benutzer, die ständig Dateien von und zu einem Remote-Host übertragen müssen.

Gewinner : SFTP

Geschwindigkeit

Da sowohl SCP als auch SFTP das SFTP-Protokoll zum Verschlüsseln und Transportieren von Dateien verwenden, verfügen die beiden Programme beim Senden und Empfangen von Daten über dieselbe Rohübertragungsgeschwindigkeit. Der Beginn dieser Übertragung ist jedoch eine andere Geschichte.

SCP erreicht oft schneller die maximale Rohübertragungsgeschwindigkeit einer Verbindung, während SFTP beim Versuch, seine Geschwindigkeit zu „erhöhen“, hinterherhinkt. Darüber hinaus müssen Sie zum Starten einer SFTP-Übertragung eine Eingabeaufforderung aufrufen und FTP-Befehle zum Hoch- und Herunterladen von Dateien verwenden.

Gewinner : SCP

Sicherheit

Sowohl SCP als auch SFTP verlassen sich als Basistransportschicht auf das SSH-Protokoll. Dies ermöglicht ihnen die sichere Übertragung von Daten über ein Netzwerk mithilfe einer Verschlüsselung auf Militärniveau.

Trotzdem verdrängt SFTP SCP, indem es das Flag -f bereitstellt, mit dem Sie alle übertragenen Daten sofort auf die Festplatte schreiben können. Darüber hinaus bietet die Befehlszeilenschnittstelle eine Reihe von Dienstprogrammen, mit denen Sie die Berechtigungsbits einer Datei aktualisieren können.

Gewinner : SFTP

Dateigröße

Die meisten modernen Versionen von SCP und SFTP unter Linux sind 64-Bit-Binärdateien. Das bedeutet, dass beide Dienstprogramme hypothetisch bis zu 16 Exabyte an beliebigen Daten unterstützen können, solange das zugrunde liegende Dateisystem dies ebenfalls unterstützt.

Allerdings kann SCP bei großen Dateien immer noch Probleme bereiten, insbesondere wenn mit älteren UNIX-ähnlichen Maschinen gearbeitet wird. Dies liegt vor allem daran, dass auf Systemen 32-Bit-Versionen von SCP ausgeführt werden, die jeweils nur Dateien mit einer Größe von bis zu 4 Gigabyte verarbeiten können.

Gewinner : SFTP

Befehlszeilen

SCP ist nicht interaktiv und kann keine Befehlsskripte lesen, daher muss alles in die Befehlszeile geschrieben werden. Dies ermöglicht jedoch auch die Ausführung als Teil größerer Shell-Skripte, was bei der Automatisierung von Systemverwaltungsaufgaben hilfreich sein kann.

SFTP hingegen ist interaktiv, kann also Befehle aus Dateien lesen. Dies kann zwar auch für die Automatisierung nützlich sein, kann jedoch umständlicher sein, da es eine Reihe von Befehlen erfordert, die sich von einem normalen Shell-Skript unterscheiden.

Gewinner : SCP

Wiederaufnahme der Dateiübertragungen

SCP unterstützt diese Funktion nicht vollständig. Dies macht das Programm anfällig dafür, bei unregelmäßigen und intermittierenden Verbindungen ganze Übertragungen zu wiederholen. Mittlerweile unterstützt SFTP es sowohl an der CLI-Eingabeaufforderung mit seinem -aFlag als auch über seinen Befehlszeilen-Client mit den Unterbefehlen regetund reput.

Gewinner : SFTP

Welches sollten Sie für die Dateiübertragung verwenden: SCP oder SFTP?

Obwohl sie ihre Gemeinsamkeiten und Unterschiede haben, wäre es nicht fair zu sagen, dass das eine besser ist als das andere. Beide übertragen Dateien und verfügen über ähnliche Sicherheitsfunktionen wie die Ausführung über SSH. Letztendlich wird das von Ihnen gewählte Dienstprogramm davon abhängen, was für die Anforderungen Ihrer Umgebung am besten geeignet ist.

Verwenden Sie SCP für

  • Wenn Sie entweder eine einzelne Datei oder ein Verzeichnis zwischen zwei Remote-Hosts übertragen möchten.
  • Wenn Sie die Datenübertragung über das Netzwerk automatisieren möchten.
  • Wenn Sie mit älteren UNIX-ähnlichen Systemen ohne SFTP-Unterstützung arbeiten.

Verwenden Sie SFTP für

  • Wenn Sie mehrere Dateien von einem einzelnen Remote-Host über mehrere Verzeichnisse übertragen.
  • Wenn Sie mit dem Dateisystem eines Remote-Hosts interagieren möchten, ohne eine neue SSH-Sitzung zu öffnen.
  • Wenn Sie ein zuverlässiges Dateiübertragungsprogramm suchen, das auch bei unregelmäßigen Netzwerkbedingungen funktioniert.

Vor diesem Hintergrund ist das Senden von Daten zwischen zwei Systemen nur der erste Schritt, um zu verstehen, wie Computer über ein Netzwerk kommunizieren. Erfahren Sie, wie Ihr Linux-Rechner weiß, wohin er seine Daten senden muss, indem Sie unseren praktischen Leitfaden zur DNS-Auflösung mit dig lesen .

Bildnachweis: Alejandro Escamilla über Unsplash . Alle Änderungen und Screenshots von Ramces Red.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert