So übertragen Sie Dateien unter Linux sicher mit SCP

Beim Übertragen von Dateien auf einen Remote-Linux-Server haben Sie einige Optionen. Eine der besten Methoden ist die Verwendung eines Programms namens Secure Copy oder SCP, das über SSH ausgeführt wird, um Dateien schnell über Ihr Netzwerk auf ein Remote-System zu übertragen. Dieses Tutorial zeigt Ihnen, wie Sie Dateien unter Linux mit SCP sicher übertragen.

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

SSH-Konfiguration

Auf Ihrem Remote-Server müssen Sie einen SSH-Server installieren. Der beliebteste unter Linux ist der OpenSSH-Server. Führen Sie zur Installation einen der folgenden Befehle aus:

# Debian/Ubuntu-basierter Server sudo apt install ssh # Fedora sudo dnf install openssh

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Abhängig von Ihrer Distribution müssen Sie möglicherweise SSH durch einige Software-Firewalls zulassen. In Ubuntu existiert dieses Problem nicht, aber in Fedora Sie müssen auch die folgenden Befehle ausführen:

sudo firewall-cmd --add-service=ssh --permanent sudo firewall-cmd --reload

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Verbinden Sie sich über SSH mit Ihrem System

Bevor Sie sich über SSH verbinden können, müssen Sie die IP-Adresse des Remote-Servers kennen. Auf Grafikservern erscheint die IP-Adresse im Netzwerk-Applet in den Systemeinstellungen. Auf den meisten Servern müssen Sie den Befehl ip im Terminal verwenden.

IP Adresse

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Suchen Sie in der Ausgabe die Zeile, die mit beginnt inet innerhalb ethX أو enpXsy , abhängig davon, wie Ihre Netzwerkschnittstelle mit dem System verbunden ist. In meinem Fall ist es so 192.168.68.108

zu testen SSH-Verbindung , gehen Sie zu Gerät Linux unterschiedlich und Typ:

Veränderung "Nutzer" إلى اسم المستخدم der eigentliche Server.

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Eintreten Passwort Dieses Konto, und Sie arbeiten. Wenn Sie eine Frage zu erhalten „Die Authentizität des Gastgebers kann nicht nachgewiesen werden.“ Sie müssen nur mit antworten "Ja". Es handelt sich um eine Sicherheitsüberprüfung, die sicherstellen soll, dass Sie mit Ihrem tatsächlichen Server verbunden sind und kein Betrug. Sie sollten auf dem Client-System dieselbe Eingabeaufforderung sehen, die Sie sehen, wenn Sie sich direkt beim Server anmelden, was bedeutet, dass Ihre Verbindung erfolgreich war. Sie sollten auch SSH-Verbindungen für maximale Sicherheit konfigurieren, oder sogar Richten Sie die Zwei-Faktor-Authentifizierung ein , bevor Sie mit dem nächsten Schritt fortfahren.

Verwenden Sie SCP, um Dateien zu übertragen

Nachdem Sie die SSH-Verbindung getestet haben, beginnen Sie mit dem Kopieren von Dateien zwischen den beiden Geräten. Sicheres Kopieren wird mit dem Befehl scp erreicht. Das grundlegende Format des scp-Befehls ist:

scp /PFAD/ZU/DATEI BENUTZER@IP-ADRESSE:PFAD/ZU/GEWÜNSCHT/ZIEL

Zum Beispiel, um eine Datei zu kopieren „backup.tar.gz“ Vom lokalen Computer in einen Ordner „backup.tar.gz“ im Home-Verzeichnis des Benutzers „ramces“ Auf dem Remote-Server mit Adresse IP 192.168.68.165 , verwenden:

scp backup.tar.gz [E-Mail geschützt] :~/sicherungen/

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Ähnlich wie bei der Verbindung über ssh werden Sie nach dem Passwort gefragt. Sie werden nicht zur Eingabe des Benutzernamens aufgefordert, wie im Befehl angegeben.

Lesen Sie auch:  10 grundlegende Linux-Befehle für Anfänger

Sie können auch Platzhalter wie die folgenden verwenden:

scp *.tar.gz [E-Mail geschützt] :~/sicherungen/

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Um eine Datei vom Remote-Server auf den lokalen Computer zu kopieren, kehren Sie einfach die Parameter um:

scp [E-Mail geschützt] :~/backups/backup.tar.gz ./

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Beachten Sie den Punkt am Ende davon? Es bedeutet "aktueller Ordner" , wie bei cp-Standardbefehle أو usw. Sie können ganz einfach ein anderes Verzeichnis auswählen, wenn Sie möchten.

scp-r [E-Mail geschützt] :~/backups/backups-from-server/

Und das gleiche mit Wildcards:

scp [E-Mail geschützt] :~/backups/*.txz ./

Um ein Verzeichnis rekursiv auf einen entfernten Server zu kopieren, verwenden Sie Option -r:

scp -r Sicherungen/ [E-Mail geschützt] :~/sicherungen/

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Um eine Duplikatkopie eines Verzeichnisses vom Remote-Server auf den lokalen Computer zu kopieren, verwenden Sie:

scp-r [E-Mail geschützt] :~/sicherungen/ ./

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Dateiübertragungskomprimierung in SCP

Abgesehen vom einfachen Kopieren ist es auch möglich, das Verhalten von SCP während dieser Dateiübertragungen zu ändern. Sie können beispielsweise das Tag verwenden -C So komprimieren Sie die Daten, die SCP an Remote-Clients sendet:

scp -C backup.tar.gz [E-Mail geschützt] :/home/ramces/

Diese Option funktioniert, indem jedes Datenpaket komprimiert wird, wenn es über SCP gesendet wird. Daher kann dies unglaublich nützlich sein, wenn Sie eine Verbindung mit begrenzter Bandbreite verwenden und eine Datei zuverlässig an einen Remote-Server senden möchten.

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Ähnlich wie bei den oben genannten Optionen können Sie auch verwenden -C zusammen mit dem Etikett -r Dateien komprimieren und rekursiv auf einen Remote-Rechner übertragen. Der folgende Befehl komprimiert beispielsweise eine Datei und stellt sie wieder her „backup.tar.gz“ Von meinem Remote-Server:

scp-Cr [E-Mail geschützt] :/home/ramces/backups /home/ramces/

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Optimieren Sie die Datenübertragung mit SCP

Zum größten Teil versucht SCP zu verwenden Verschlüsselungsalgorithmus AES-128 für alle seine Dateiübertragungen. Es gibt jedoch Fälle, in denen dieser spezielle Algorithmus für die Dateien, die Sie übertragen möchten, nicht geeignet ist.

Mit diesem Wissen ist es möglich, SCP weiter zu verbessern und zu sichern, indem der Verschlüsselungsalgorithmus für eine bestimmte Übertragung direkt geändert wird. Dazu müssen Sie das Tag verwenden -c gefolgt von dem Code, den Sie verwenden möchten.

Der folgende Befehl verschiebt beispielsweise eine Datei „backup.tar.gz“ zu meinem Remote-Server mit AES-256:

scp -c aes256-ctr ./backup.tar.gz [E-Mail geschützt] :/home/ramces/

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Darüber hinaus bietet es Ihnen die Möglichkeit -c Geben Sie auch eine Liste mit Chiffren an, die Sie zum Übertragen einer bestimmten Datei verwenden möchten. Der folgende Befehl verwendet beispielsweise beide AES-192 و AES-256 beim Übertragen einer Datei „backup.tar.gz“ Zu meinem Remote-Server:

scp -c aes192-ctr, aes256-ctr ./backup.tar.gz [E-Mail geschützt] :/home/ramces/

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Begrenzen Sie die Bandbreitennutzung in SCP

Während die Dateipaketkomprimierung Ihnen bei der Verwendung von SCP bei schlechten Netzwerkbedingungen helfen kann, kann sie auch die Bandbreite begrenzen, die das Programm während der Übertragung verwendet. Dies ist nützlich, wenn Sie eine begrenzte Verbindung verwenden und nicht möchten, dass SCP Ihre Netzwerkbandbreite übernimmt.

Lesen Sie auch:  So verwenden Sie Troff zum Formatieren von PDF-Dokumenten unter Linux

Um die effektive Bandbreite des Programms zu begrenzen, müssen Sie verwenden Tag -l gefolgt von der gewünschten Höchstmenge In Kilobit pro Sekunde (KB/s). Wenn Sie beispielsweise den folgenden Befehl ausführen, wird eine Datei verschoben „backup.tar.gz“ Zu meinem Remote-Server mit einer effektiven Bandbreite von 1600 Kb/s:

scp -l 1600 ./backup.tar.gz [E-Mail geschützt] :/home/ramces/

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Tele-to-Tele mit SCP

Neben dem Kopieren lokaler Dateien auf Ihren Remote-Server und umgekehrt können Sie SCP auch verwenden, um mehrere Remote-Server von Ihrem lokalen Computer aus zu verwalten, da SCP nur die Dateiübertragung durchführt und nicht zwischen einem lokalen Computer und einem Remote-Computer unterscheidet.

Um zwischen zwei Remote-Servern zu übertragen, müssen Sie den Benutzernamen und die Adresse jedes dieser Computer explizit angeben. Wenn Sie beispielsweise den folgenden Befehl ausführen, wird eine Datei verschoben „remote-backup.tar.gz“ Mine zwischen zwei Remote-Servern:

scp [E-Mail geschützt] :/home/ramces/remote-backup.tar.gz [E-Mail geschützt] :/home/ramces/

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Verwenden Sie einen Proxy mit SCP

Standardmäßig verwendet SCP die IP-Adresse Ihres lokalen Computers, wenn es Dateien zwischen verschiedenen Hosts überträgt. Während dies in normalen Situationen vollkommen in Ordnung ist, kann es ein Problem sein, wenn Ihr lokales Netzwerk jegliche SCP-Aktivität einschränkt. Eine schnelle Möglichkeit, dieses Problem zu lösen, besteht darin, Ihre lokale Verbindung über einen SSH-Proxy zu leiten.

Dazu müssen Sie ein Tag verwenden -o gefolgt von einer Option ProxyBefehl. Auf diese Weise können Sie eine einfache SSH-Verbindung zu einem neuen Gerät herstellen, das wiederum Ihren SCP-Befehl ausführt. Wenn Sie beispielsweise Folgendes ausführen, wird ein neuer SSH-Agent auf einem Remotecomputer erstellt und eine Datei übertragen „backup.tar.gz“ es benutzen:

scp -o "ProxyBefehl ssh [E-Mail geschützt]  nc %h %p" ./backup.tar.gz [E-Mail geschützt] :/home/ramces/

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Ändern Sie den Standardport in SCP

Neben der Erstellung eines einfachen SSH-Proxys können Sie auch den Standardport für SCP ändern. Dies ist besonders nützlich, wenn Sie einen Linux-Server sichern und keine virtuellen Ports verfügbar machen möchten.

Lesen Sie auch:  20 beste leichte Linux-Distributionen von 2021

Um SCP mit einem anderen Port zu verwenden, müssen Sie ein Flag verwenden -P gefolgt von der Portnummer, die Sie verwenden möchten. Der folgende Befehl kopiert beispielsweise ein Verzeichnis "Sicherung" rekursiv und verbinden Sie sich über den Port mit dem Remote-Server 2222:

scp -r -P 2222 ./sicherung [E-Mail geschützt] :/home/ramces/

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Verwenden Sie den SCP-Quiet-Modus

Schließlich ist es auch möglich, alle Terminalausgaben des SCP-Befehls vollständig zu entfernen. Dies ist besonders nützlich, wenn Sie ein nicht interaktives Skript erstellen möchten, das in Ihrem Terminal ausgeführt wird. Darüber hinaus können Sie diesen Prozess durch Erstellen vollständig automatisieren Cronjob und übertragen SSH-Schlüssel privat auf Ihrem Server.

Um einen leisen SCP-Transport zu erstellen, müssen Sie die Flagge verwenden -q. Der folgende Befehl verschiebt beispielsweise eine Datei „backup.tar.gz“ still zu meinem Remote-Server:

scp -q ./backup.tar.gz [E-Mail geschützt] :/home/ramces/

So übertragen Sie Dateien sicher unter Linux mit SCP – %categories

Häufig gestellte Fragen

F1. Meine Fernbedienung zum Teleportieren funktioniert nicht in SCP. Wie behebe ich das?
Antworten. Dieses Problem wird höchstwahrscheinlich durch einen blockierten Port in einer der Konfigurationsdateien Ihres Remote-Computers verursacht. Um dies zu beheben, stellen Sie sicher, dass der Standardport für SSH auf beiden Geräten geöffnet ist.

Dieses Problem kann auch dadurch verursacht werden, dass sich einer Ihrer Remote-Computer hinter einer CG-NAT-Verbindung befindet, sodass jede externe Verbindung zu Ihrem Remote-Computer nicht ordnungsgemäß aufgelöst wird. Um dieses Problem zu lösen, müssen Sie verwenden VLAN-Software , Wie zum Beispiel Yggdrasil , wodurch Sie passieren können CG-NAT.

F2: Ich habe den SCP-Proxy aktiviert und der Remote-Host hat die Verbindung geschlossen. Was kann ich tun?
Antworten. Dieses Problem ist höchstwahrscheinlich auf ein Problem mit Ihrem Proxy-Computer zurückzuführen. Um den SSH-Agenten ordnungsgemäß zu starten, stellen Sie sicher, dass der Computer, den Sie verwenden möchten, über einen OpenSSH-Server und Netcat verfügt. Um diese Programme zu installieren in Ubuntu Führen Sie den folgenden Befehl aus: sudo apt installiere ssh netcat.

F3: Ist es möglich, alle verfügbaren Chiffren für SCP herauszufinden?
Antworten. Standardmäßig verlässt sich SCP für seine Verschlüsselungsfunktionen stark auf das SSH-Protokoll. Aus diesem Grund können Sie das SSH-Skript verwenden, um eine Liste von Chiffren auszudrucken, die Sie zusammen mit SCP verwenden können. Du kannst zum Beispiel laufen ssh -Q-Chiffren Druckt eine kurze Liste aller verfügbaren Chiffren auf Ihrem Gerät.

Sie können auch mögen