Grundlagen des sicheren Dateiübertrags

LinuxBeginner
Jetzt üben

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

Verbindung zu einem entfernten Server über SFTP herstellen

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 Remote-Server verbunden sind, können Sie Dateien mit den Befehlen put und get übertragen.

Um eine Datei von Ihrem lokalen Rechner auf den Remote-Server hochzuladen, verwenden Sie den Befehl put, gefolgt vom Pfad zur lokalen Datei. Zum Beispiel:

put /home/labex/.zshrc

Um eine Datei vom Remote-Server auf Ihren lokalen Rechner herunterzuladen, verwenden Sie den Befehl get, gefolgt vom Pfad zur Remote-Datei. Zum Beispiel:

get .zshrc

Wenn Sie die Dateiübertragung abgeschlossen haben, können Sie die SFTP-Verbindung mit dem Befehl exit schließen.

exit

Stellen Sie sicher, dass Sie die SFTP-Verbindung schließen, bevor Sie auf die Schaltfläche "Weiter" klicken.

Verbindung zu einem entfernten Server über FTP herstellen

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 Remote-Server verbunden sind, können Sie Dateien mit den Befehlen put und get übertragen.

Um eine Datei von Ihrem lokalen Rechner auf den Remote-Server hochzuladen, verwenden Sie den Befehl put, gefolgt vom Pfad zur lokalen Datei. Zum Beispiel:

## Upload .zshrc file to the server and rename it to zshrc-upload
put /home/labex/.zshrc zshrc-upload

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

Um eine Datei vom Remote-Server auf Ihren lokalen Rechner herunterzuladen, verwenden Sie den Befehl get, gefolgt vom Pfad zur Remote-Datei. Zum Beispiel:

get zshrc-upload

Die Datei wird in das aktuelle Verzeichnis auf dem lokalen Rechner heruntergeladen.

Weitere Informationen zu FTP-Befehlen erhalten Sie, indem Sie den Befehl help in der FTP-Shell ausführen.

Wenn Sie die Dateiübertragung abgeschlossen haben, können Sie die FTP-Verbindung mit dem Befehl bye oder exit schließen.

bye

Stellen Sie sicher, dass Sie die FTP-Verbindung schließen, bevor Sie auf die Schaltfläche "Continue" (Weiter) klicken.

Dateien auf einen Remote-Server kopieren

SCP (Secure Copy) ist ein Befehlszeilen-Dienstprogramm, mit dem Sie Dateien sicher zwischen einem lokalen Rechner und einem Remote-Server oder zwischen zwei Remote-Servern übertragen können. Es nutzt SSH (Secure Shell), um die übertragenen Daten zu verschlüsseln und so eine sichere Dateiübertragung zu gewährleisten.

Die grundlegende Syntax des scp-Befehls lautet wie folgt:

scp [options] [source] [destination]

Die Argumente source (Quelle) und destination (Ziel) können entweder eine lokale Datei bzw. ein lokales Verzeichnis oder eine Remote-Datei bzw. ein Remote-Verzeichnis im Format username@host:path sein.

Um beispielsweise eine Datei namens file.txt von Ihrem lokalen Rechner auf einen Remote-Server mit der IP-Adresse 127.0.0.1 zu kopieren, verwenden Sie den folgenden Befehl:

Um das Passwort für den Benutzer labex zu erhalten, geben Sie printenv | grep PASSWORD im Desktop-Terminal ein. Andere Terminals außerhalb der Desktop-Oberfläche haben keinen Zugriff auf dieses Passwort.

SCP-Befehlsbeispiel

cd ~/project

## View the password for the labex user
printenv | grep PASSWORD

## Copy the file to the remote server
scp file.txt labex@127.0.0.1:/home/labex/file-scp.txt

## Enter the password for the labex user

Dateien von einem 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.