Grundlagen des sicheren Dateiübertrags

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden die Grundlagen des Transfers von Dateien über die Linux-Befehlszeile mithilfe von SFTP, FTP und SCP behandelt. Diese Tools werden üblicherweise verwendet, um Dateien zwischen lokalen und entfernten Servern zu übertragen und können für Aufgaben wie das Hochladen von Website-Dateien auf einen Server oder das Herunterladen von Daten von einem entfernten Computer nützlich sein.

Wir haben in der Lab-Umgebung einen SFTP- und einen FTP-Server konfiguriert. Wenn Sie die Tools tatsächlich verwenden, stellen Sie sicher, dass Sie die erforderlichen Anmeldeinformationen zum Zugang zum entfernten Server (z. B. Benutzername und Kennwort) haben und dass der Server so konfiguriert ist, dass Dateiübertragungen über SFTP, FTP und SCP möglich sind.

Ziele

  • sftp - Secure File Transfer Protocol
  • ftp - File Transfer Protocol
  • scp - Secure Copy

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/InputandOutputRedirectionGroup(["Input and Output Redirection"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicSystemCommandsGroup -.-> linux/exit("Shell Exiting") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/InputandOutputRedirectionGroup -.-> linux/redirect("I/O Redirecting") linux/SystemInformationandMonitoringGroup -.-> linux/service("Service Managing") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/RemoteAccessandNetworkingGroup -.-> linux/ssh("Secure Connecting") linux/RemoteAccessandNetworkingGroup -.-> linux/scp("Secure Copying") linux/RemoteAccessandNetworkingGroup -.-> linux/sftp("Secure File Transferring") linux/RemoteAccessandNetworkingGroup -.-> linux/ftp("File Transferring") subgraph Lab Skills linux/exit -.-> lab-40{{"Grundlagen des sicheren Dateiübertrags"}} linux/grep -.-> lab-40{{"Grundlagen des sicheren Dateiübertrags"}} linux/redirect -.-> lab-40{{"Grundlagen des sicheren Dateiübertrags"}} linux/service -.-> lab-40{{"Grundlagen des sicheren Dateiübertrags"}} linux/sudo -.-> lab-40{{"Grundlagen des sicheren Dateiübertrags"}} linux/ssh -.-> lab-40{{"Grundlagen des sicheren Dateiübertrags"}} linux/scp -.-> lab-40{{"Grundlagen des sicheren Dateiübertrags"}} linux/sftp -.-> lab-40{{"Grundlagen des sicheren Dateiübertrags"}} linux/ftp -.-> lab-40{{"Grundlagen des sicheren Dateiübertrags"}} end

Mit SFTP auf einen entfernten Server verbinden

SFTP (Secure File Transfer Protocol) ist ein sicherer Weg, um Dateien zwischen einem lokalen Computer und einem entfernten Server zu übertragen.

Um sich mit SFTP an einen entfernten Server zu verbinden, können Sie den Befehl sftp mit dem Benutzernamen und der IP-Adresse oder dem Hostnamen des Servers verwenden. Beispielsweise:

Das Passwort für den Benutzer sftpuser lautet 123456.

sftp sftpuser@127.0.0.1
## Geben Sie yes ein, um die Fingerabdruck des Servers zu akzeptieren

Es wird Sie nach dem Passwort für den Benutzer gefragt. Nachdem Sie das richtige Passwort eingegeben haben, werden Sie mit dem entfernten Server verbunden sein.

Dateien mit SFTP übertragen

Sobald Sie mit dem entfernten Server verbunden sind, können Sie Dateien mit den Befehlen put und get übertragen.

Um eine Datei von Ihrem lokalen Computer auf den entfernten Server zu laden, verwenden Sie den put-Befehl, gefolgt vom Pfad zur lokalen Datei. Beispielsweise:

put /home/labex/.zshrc

Um eine Datei vom entfernten Server auf Ihren lokalen Computer herunterzuladen, verwenden Sie den get-Befehl, gefolgt vom Pfad zur entfernten Datei. Beispielsweise:

get.zshrc

Wenn Sie fertig mit dem Dateiübertrag sind, können Sie die SFTP-Verbindung mit dem Befehl exit schließen.

Mit FTP auf einen entfernten Server verbinden

FTP (File Transfer Protocol) ist ein standardisiertes Netzwerkprotokoll, das verwendet wird, um Dateien zwischen einem lokalen Computer und einem entfernten Server zu übertragen. Es ist weniger sicher als SFTP, da es Daten im Klartext überträgt.

Sie können den Status des FTP-Diensts überprüfen, indem Sie folgenden Befehl ausführen:

sudo service vsftpd status

Wenn der FTP-Dienst nicht ausgeführt wird, können Sie ihn mit folgendem Befehl starten:

sudo service vsftpd start

Um sich mit FTP an einen entfernten Server zu verbinden, können Sie den Befehl ftp mit der IP-Adresse oder dem Hostnamen des Servers verwenden. Beispielsweise:

Der Benutzername für den FTP-Server lautet ftpuser und das Passwort ist 123456

ftp 127.0.0.1

Es wird Sie nach dem Benutzernamen und Passwort für den Server gefragt. Nachdem Sie die richtigen Anmeldeinformationen eingegeben haben, werden Sie mit dem entfernten Server verbunden sein.

Dateien mit FTP übertragen

Sobald Sie mit dem entfernten Server verbunden sind, können Sie Dateien mit den Befehlen put und get übertragen.

Um eine Datei von Ihrem lokalen Computer auf den entfernten Server zu laden, verwenden Sie den put-Befehl, gefolgt vom Pfad zur lokalen Datei. Beispielsweise:

## Hochladen der.zshrc-Datei auf den Server und Umbenennen in zshrc-upload
put /home/labex/.zshrc zshrc-upload

Die Datei wird auf das aktuelle Verzeichnis auf dem Server (/home/ftpuser) hochgeladen.

Um eine Datei vom entfernten Server auf Ihren lokalen Computer herunterzuladen, verwenden Sie den get-Befehl, gefolgt vom Pfad zur entfernten Datei. Beispielsweise:

get zshrc-upload

Die Datei wird auf das aktuelle Verzeichnis auf dem lokalen Computer heruntergeladen.

Erfahren Sie mehr über FTP-Befehle, indem Sie im FTP-Shell den Befehl help ausführen.

Wenn Sie fertig mit dem Dateiübertrag sind, können Sie die FTP-Verbindung mit den Befehlen bye oder exit schließen.

Datei auf entfernten Server kopieren

SCP (Secure Copy) ist ein Befehlszeilenprogramm, das es Ihnen ermöglicht, Dateien sicher zwischen einem lokalen Computer und einem entfernten Server oder zwischen zwei entfernten Servern zu übertragen. Es verwendet SSH (Secure Shell), um die übertragenen Daten zu verschlüsseln und sicherzustellen, dass die Dateien sicher übertragen werden.

Die grundlegende Syntax für den scp-Befehl lautet wie folgt:

scp [Optionen] [Quelle] [Ziel]

Die Argumente Quelle und Ziel können entweder eine lokale Datei oder -verzeichnis oder ein entferntes Datei- oder -verzeichnis im Format Benutzername@Host:Pfad sein.

Beispielsweise würden Sie folgenden Befehl verwenden, um eine Datei file.txt von Ihrem lokalen Computer auf einen entfernten Server mit der IP-Adresse 127.0.0.1 zu kopieren:

Um das Passwort für den Benutzer labex zu erhalten, geben Sie in der Desktop-Terminal printenv | grep PASSWORD ein.

Beispiel für SCP-Befehl
cd ~/projekt

## Zeige das Passwort für den Benutzer labex an
printenv | grep PASSWORD

## Kopiere die Datei auf den entfernten Server
scp file.txt labex@127.0.0.1:/home/labex/file-scp.txt

## Geben Sie das Passwort für den Benutzer labex ein

Dateien von entfernten Server herunterladen

Sie können auch scp verwenden, um Dateien von einem entfernten Server herunterzuladen.

Beispielsweise würden Sie folgenden Befehl verwenden, um eine Datei file.txt von einem entfernten Server mit der IP-Adresse 127.0.0.1 auf den lokalen Computer herunterzuladen:

scp labex@127.0.0.1:/home/labex/file-scp.txt /home/labex/file-scp-new.txt

Sie können auch das lokale Verzeichnis als Ziel festlegen. Stellen Sie sicher, dass der Pfad ein abschließender Schrägstrich (/) enthält.

Erweiterte Optionen von SCP

scp hat auch mehrere erweiterte Optionen, die zum Anpassen des Dateiübertrags verwendet werden können. Einige der am häufigsten verwendeten Optionen sind:

  • -r - Mit dieser Option können Sie ganze Verzeichnisse rekursiv kopieren.
  • -C - Diese Option aktiviert die Kompression während des Dateiübertrags, was nützlich sein kann, wenn große Dateien über eine langsame Verbindung übertragen werden.
  • -P - Mit dieser Option können Sie eine Portnummer für die Verbindung angeben.

Beispielsweise würden Sie folgenden Befehl verwenden, um das Verzeichnis ~/Desktop von Ihrem lokalen Computer auf einen entfernten Server mit der IP-Adresse 127.0.0.1 zu kopieren, wobei die Kompression verwendet und eine Portnummer angegeben wird:

scp -r -C -P 22 ~/Desktop labex@127.0.0.1:/home/labex/Code/

Zusammenfassung

In diesem Lab wurden die Linux-Befehle SFTP, FTP und SCP vorgestellt, die zum Übertragen von Dateien zwischen einem lokalen Computer und einem entfernten Server oder zwischen zwei entfernten Servern verwendet werden. SFTP ist ein sicherer Weg zum Dateiübertrag, während FTP ein standardisiertes Netzwerkprotokoll ist, das weniger sicher als SFTP ist. SCP ist ein Befehlszeilenprogramm, das es Ihnen ermöglicht, Dateien sicher zwischen einem lokalen Computer und einem entfernten Server oder zwischen zwei entfernten Servern zu übertragen, indem es SSH (Secure Shell) verwendet, um die übertragenen Daten zu verschlüsseln. Es wurde auch auf einige erweiterte Optionen des SCP-Befehls eingegangen, die zum Anpassen des Dateiübertrags verwendet werden können, wie die Optionen -r, -C und -P.