GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So übertragen Sie Dateien sicher mit SCP

SCP steht für Secure Copy. Es ist ein Linux-Befehlszeilendienstprogramm, das zum sicheren Kopieren von Dateien und Verzeichnissen zwischen Servern verwendet wird. SCP verwendet das SSH-Protokoll und erfordert daher eine kennwortlose oder kennwortlose Authentifizierung zwischen Servern. Mit SCP können Sie Dateien zwischen zwei entfernten Hosts von Ihrem lokalen System kopieren sowie Dateien zwischen lokalen und entfernten Hosts kopieren.

In diesem Tutorial zeigen wir Ihnen anhand von Beispielen, wie Sie den SCP-Befehl verwenden.

Voraussetzungen

  • Ein frisches Ubuntu 18.04 VPS auf der Atlantic.net Cloud Platform.
  • Ein auf Ihrem Server konfiguriertes Root-Passwort.

Atlantic.Net Cloud-Server erstellen

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 18.04 als Betriebssystem mit mindestens 1 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem Ubuntu 18.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

apt-get update -y

1. SCP-Syntax

Die grundlegende Syntax des SCP-Befehls ist unten dargestellt:

scp [option] [email protected]:/file_or_directory [email protected]:/directory

Benutzer: Name des Benutzers.
Quell-IP: IP-Adresse des Systems, von dem Sie Dateien oder Verzeichnisse kopieren möchten.
dest-ip: IP-Adresse des Systemzielsystems.

Einige der im scp-Befehl verwendeten Optionen sind unten aufgeführt:

-P: Geben Sie die SSH-Portnummer des Zielhosts an.
-r: Wird verwendet, um Dateien und Verzeichnisse rekursiv zu kopieren.
-v: Wird verwendet, um während der Dateiübertragung eine ausführliche Ausgabe anzuzeigen.
-C: Wird verwendet, um die Dateikomprimierung zu aktivieren.
-i: Geben Sie den SSH-Schlüssel an.
-l: Wird verwendet, um die Bandbreite beim Kopieren zu begrenzen.
-p: Wird verwendet, um Berechtigungen, Modi und Zugriffszeit von Dateien beim Kopieren beizubehalten.

2. Kopieren einer Datei vom lokalen zum entfernten Host

Wenn Sie eine Datei namens /etc/rc.local von localhost auf den Remote-Host (172.20.10.3) im Verzeichnis /mnt kopieren möchten, führen Sie den folgenden Befehl aus:

scp /etc/rc.local [email protected]:/mnt/

Sie sollten die folgende Ausgabe sehen:

[email protected]'s password:rc.local                                                                                  100 %  306     0,3 KB/s:

Wenn Sie mehrere Dateien kopieren möchten (in diesem Beispiel verwenden wir /etc/fstab und /etc/hosts, und kopieren Sie sie auf den Remote-Host (172.20.10.3) in das /mnt-Verzeichnis), führen Sie den folgenden Befehl aus:

scp /etc/fstab /etc/hosts [email protected]:/mnt/

Sie sollten die folgende Ausgabe sehen:

 [email protected]'s Passwort:FSTAB 100%628 0,6 KB/S 00:00 Hosts 100%249 0,2 KB/S 00:00 

3. Dateien und Verzeichnisse rekursiv kopieren

Sie können die rekursive Option -r mit SCP verwenden, um das gesamte Verzeichnis von einem System auf ein anderes zu kopieren.

Zum Beispiel, um das Verzeichnis mit dem Namen /var/log/apache2 zu kopieren Führen Sie rekursiv von localhost zum entfernten Host (172.20.10.3) im /mnt-Verzeichnis den folgenden Befehl aus:

scp -r /var/log/apache2 [email protected]:/mnt/

Sie sollten die folgende Ausgabe sehen:

 [email protected]'s Passwort:Fehler.log 100%0 0,0KB/S 00:00 Access.log.3 00:00 Access.log.4.gz 100% 317 0,3 KB/S 00:00 Fehler.log.3.gz 100% 1622 1.6 KB/s 00:00 Fehler.log :00 Access.log 100% 0 0,0 KB/s 00:00 Access.log.1 100% 1287 1.3 KB/s 0 0:00 Access.log.2.gz 100%239 0,2 KB/S 00:00 Fehler.log.2.gz 100%246 0,2 KB/s 00:00 Fehler.log.5.gz 100%1471 1.4KB/ s   00:00   error.log.4.gz                                                                      100 % 2296     2,2 KB/s   00:00

Sie können auch die Option -v mit SCP verwenden, um während des Kopiervorgangs eine ausführliche Ausgabe anzuzeigen:

scp -vr /var/log/apache2 [email protected]:/mnt/

4. Datei vom Remote- auf den lokalen Host kopieren

Wenn Sie eine Datei namens /etc/hostname vom entfernten Host (172.20.10.3) auf den lokalen Host im Verzeichnis /opt kopieren möchten, führen Sie den folgenden Befehl aus:

scp [email protected]:/etc/hostname /opt/

Sie sollten die folgende Ausgabe sehen:

 [email protected]'s Passwort:Hostname 100%6 0.0kb/s 00:00 

5. Kopieren von Dateien von einem Remote-Host auf einen anderen Remote-Host

Um Dateien und Verzeichnisse zwischen zwei Remote-Hosts zu kopieren, müssen Sie die SSH-Schlüssel-basierte Authentifizierung zwischen beiden Remote-Hosts konfigurieren.

Kopieren Sie nach dem Konfigurieren der schlüsselbasierten Authentifizierung ein Verzeichnis mit dem Namen /var/log von einem Remote-Host (172.20.10.3) auf den anderen Remote-Host (172.20.10.4) im Verzeichnis /mnt und führen Sie den folgenden Befehl aus:

scp -r [email protected]:/var/log [email protected]:/mnt/

6. Begrenzung der Bandbreitennutzung beim Kopieren

Sie können die Option -l mit SCP verwenden, um die Bandbreite während des Kopiervorgangs zu begrenzen.

Um beispielsweise eine Datei mit dem Namen google-chrome-stable_current_amd64.deb von localhost auf den Remote-Host (172.20.10.3) im Verzeichnis /opt zu kopieren und die Bandbreite auf 1000 KB/s (1000×8) zu begrenzen, führen Sie den folgenden Befehl aus:

scp -l 8000 /home/vyom/Downloads/google-chrome-stable_current_amd64.deb  [email protected]:/opt/

Sie sollten die folgende Ausgabe sehen:

passwort von [email protected]:google-chrome-stable_current_amd64.deb                                                                   100 %   60 MB/s   

7. Spezifischen Port mit SCP angeben

In einigen Fällen ist der SSH-Port auf dem Zielhost unterschiedlich. In diesem Fall können Sie die Option -P verwenden, um den SSH-Port anzugeben.

Um beispielsweise eine Datei mit dem Namen /etc/hosts auf dem lokalen System auf den Remote-Host (172.20.10.3) im Verzeichnis /mnt unter Verwendung des Ports 8088 zu kopieren, führen Sie den folgenden Befehl aus:

scp -P 8088 /etc/hosts [email protected]:/mnt/

8. Komprimierung beim Kopieren aktivieren

Sie können die Option -C mit SCP verwenden, um die Komprimierung an der Quelle und die Dekomprimierung auf dem Zielhost zu aktivieren. Dies kann die Übertragungsgeschwindigkeit bei großen Dateien erhöhen.

Zum Beispiel, um ein Verzeichnis /var/log/nginx zu kopieren Führen Sie auf dem lokalen Host zum Remote-Host (172.20.10.3) im /mnt-Verzeichnis mit Komprimierung den folgenden Befehl aus:

scp -r -C /var/log/nginx [email protected]:/mnt/

Sie sollten die folgende Ausgabe sehen:

 [email protected]'s Passwort:Fehler.log 100%0 0,0KB/S 00:00 Access.log.3 /s 00:00 Zugang.log 100%0 0,0 kb/s 00:00 Zugang.log.1 100%90 0,1 kb/s 00:00 Zugang 

9. Berechtigungen, Modi und Zugriffszeit von Dateien beim Kopieren beibehalten

Sie können die Option -p mit SCP verwenden, um Berechtigungen, Zugriffszeit und Modi während des Kopiervorgangs beizubehalten.

Zum Beispiel, um eine Datei namens magento-ce-2.3.5-p1-2020-04-24-08-59-28.tar.bz2 zu kopieren Führen Sie auf dem lokalen Host zum Remote-Host (172.20.10.3) im Verzeichnis /mnt und zum Beibehalten von Berechtigungen, Zugriffszeit und Modi den folgenden Befehl aus:

scp -p /home/vyom/Downloads/magento-ce-2.3.5-p1-2020-04-24-08-59-28.tar.bz2 [email protected]:/mnt/

Sie sollten die folgende Ausgabe sehen:

 [email protected]'s Passwort:Magento-CE-2.3.5-P1-2020-04-24-08-59-28.tar.bz2 100%112MB 55,9 MB/S 00:02 

Schlussfolgerung

In der obigen Anleitung haben Sie gelernt, wie Sie SCP verwenden, um Dateien und Verzeichnisse sicher von einem Server auf einen anderen zu übertragen. Beginnen Sie noch heute mit SCP auf einem VPS-Hosting-Konto bei Atlantic.Net!


Linux
  1. 14 Beispiele für SCP-Befehle zum sicheren Übertragen von Dateien unter Linux

  2. Übertragen Sie Dateien und Ordner sicher zwischen Computern mit Croc

  3. So kopieren Sie Dateien sicher zwischen Linux-Hosts mit SCP und SFTP

  4. So übertragen Sie Dateien sicher mit dem SCP-Befehl unter Linux

  5. Verwenden von scp zum Übertragen einer .txt-Dateiliste von Dateien

So löschen Sie Dateien sicher mit dem Shred-Befehl in Debian 10

So übertragen Sie Dateien sicher zwischen Ubuntu-Systemen mit Croc

Linux SCP-Befehl zum sicheren Übertragen von Dateien

Gewusst wie:SFTP-Befehle – Dateien sicher auf einen Remote-Server übertragen

Übertragen Sie Dateien mit WinSCP

So löschen Sie Dateien sicher mit dem Shred-Befehl in Debian 11