Verwenden Sie den Befehl SCP zum Übertragen von Dateien

Verwenden Sie den Befehl SCP zum Übertragen von Dateien

In diesem Tutorial wird erläutert, wie man die benutzt scp (Secure Copy) Befehl zum Übertragen von Dateien zwischen Computern.

Der scp Der Befehl ist unter allen Linux-, Unix- und Windows -Systemen verfügbar. Die Implementierung wird die Wahrscheinlichkeit verbessern und das Netzwerkerlebnis erleichtern.

Sicherheit erfolgt von der ssh Protokoll.

Mit diesem Befehl können wir Dateien zuverlässig und sicher von einem Computer auf einen anderen übertragen. Zusammen mit dem sftp Befehl, auch durch das SSH -Protokoll geschützt, SCP ist eine der sichersten Dateitransferenztechniken.

Nach dem Lesen dieses Artikels kann der Leser Dateien einfach mit einzelnen Befehlen freigeben und abrufen.

Alle praktischen Beispiele in diesem Tutorial enthalten Screenshots, sodass es jedem Linux -Benutzer leicht zu verstehen ist, wie Befehle angewendet werden.

Anforderungen vor der Verwendung von SCP

Der Benutzer lädt Dateien von Dateien herunter oder lade Dateien auf, er muss den SSH -Dienst ausgeführt werden.

Wenn der Dienst bereits auf dem Server ausgeführt wird, können Sie zum nächsten Abschnitt dieses Artikels springen.

Wenn der Dienst nicht ausgeführt wird, kann der Benutzer ihn installieren, indem sie die folgenden Anweisungen für Debian und Redhat -basierte Linux -Verteilungen befolgen.

Auf Debian -basierten Systemen wie Ubuntu kann der SSH -Dienst mit dem installiert werden geeignet Packages Manager, wie im Bild unten gezeigt.

sudo apt installieren ssh

Auf Redhat -basierten Systemen wie CentOS kann der SSH -Dienst durch Ausführen des folgenden Befehls installiert werden:

DNF Installation OpenSSH-Server

Wenn die Installation endet, starten Sie auf dem Server, mit dem Sie eine Verbindung herstellen möchten Systemctl Befehl wie unten gezeigt (Debian -basierte Systeme).

sudo systemctl starten ssh

Um die zu starten ssh Dienst auf Redhat -Systemen ausführen:

sudo systemctl starten sshd

So herunterladen Sie Dateien und Verzeichnisse mit scp (Sichere Kopie)

Im ersten praktischen Beispiel dieses Tutorials lädt ein Benutzer eine Datei namens herunter <Datei1> zu seinem Heimverzeichnis.

Es ist wichtig, sich daran zu erinnern, dass das Herunterladen oder Hochladen von Dateien Anmeldeinformationen eines vorhandenen Benutzer auf dem Remote -Computer erfordert.

Die Syntax zum Herunterladen einer Datei mit SCP ist Folgendes, wo <Fernverbraucher> Ist ein vorhandener Benutzer auf dem Remote -Computer, von dem der Benutzer Dateien herunterladen möchte. <Server-IP> Ist die Host- oder IP -Adresse des Servers, die die Datei speichert, <Pfad/zu/Datei> ist der Pfad zur Datei zum Herunterladen und <Lokal-Regisseury> ist das lokale Computer des Benutzers, in dem die Datei gespeichert wird.

scp @:

Im folgenden Beispiel den lokalen Benutzer Linux-Hint3 Logins als die LinuxHint Remote -Benutzer auf dem Server mit IP -Adresse 192.168.0.103 und lädt eine Datei mit dem Namen herunter <Datei1> zu seinem Heimverzeichnis. Ein Eintrag ls Befehlsausführung zeigt Datei1 ist lokal vorhanden.

SCP [email protected]: Datei1 ~//

Standardmäßig ist das Remote Current Working Working Directory das Remote User Home Directory.

Der Flag ist hilfreich, um das SCP -Erbe auszuführen, das für die Übertragung von Dateien mit Systemen erforderlich ist, die das SFTP -Protokoll nicht implementieren.

scp -o [email protected]: Datei1 ~//

Im folgenden Beispiel lädt der Benutzer eine mit dem Namen namens Datei herunter newfile2, unter dem gelagert Desktop/ Unterverzeichnis. Das lokale Ziel der Datei ist das aktuelle lokale Verzeichnis, das durch einen Zeitraum dargestellt wird.

SCP [email protected]: Desktop/Newfile2 .

Das Herunterladen von Verzeichnissen erfordert nur das Hinzufügen des Hinzufügens -R (Rekursiv) Flag, wie im Screenshot unten gezeigt.

Im folgenden Beispiel lädt der Benutzer das genannte Remote -Verzeichnis herunter testdir/ zum örtlichen Unterverzeichnis benannt Verzeichnis/.

scp -r [email protected]: TestDir ~/Verzeichnis

Der -l Flag ermöglicht die Begrenzung der Download -Übertragung in KB/s, um die Bandbreite zu steuern.

Im folgenden Screenshot begrenzt der Benutzer die Bandbreite für die Übertragung auf 100 kb/ps. Wie Sie sehen können, hat der Benutzer eine Wildcard (*) verwendet, um alle Dateien herunterzuladen, deren Name beginnt “Ubuntu”.

scp -l 100 [email protected]: Ubuntu* ~//

Wenn der Benutzer die Dateiübertragung beschleunigen möchte, kann er die hinzufügen -C So komprimieren Sie Dateien oder Verzeichnisse während der Übertragung und lassen Sie die Zielkopie unkomprimiert (wenn die Quelle so war).

Im folgenden Beispiel implementiert der Benutzer die -C (Komprimieren) Flag zum Herunterladen aller Dateien mit dem Abschluss “Ubuntu”An die lokalen Desktop/ Unterverzeichnis.

SCP -c [email protected]: Ubuntu*/Home/Linux-Hint3/Desktop/

Der -4 Die Option erzwingt die Verbindung über IPv4 und die -6 Option über IPv6.

Im nächsten Screenshot zwingt der Benutzer die Dateiübertragung über IPv4.

SCP -4 [email protected]: Ubuntu*/Home/Linux-Hint3/Desktop/

So laden Sie Dateien und Verzeichnisse mit SCP hoch

In diesem Abschnitt wird erläutert, wie Dateien mit einzelnen Befehlen mit SCP hochgeladen werden.

Die Syntax zum Hochladen regulärer Dateien in ein Remote -System mit SFTP ist Folgendes:

scp @:

Im folgenden Beispiel lädt der Benutzer eine Datei mit dem Namen hoch Datei1 zum abgelegenen Unterverzeichnis benannt Unterlagen/.

SCP -Datei1 [email protected]: Dokumente/

Verwenden Sie die rekursive Verzeichnisse, um Verzeichnisse hochzuladen -R Flagge, der Rest der Syntax ähnelt den oben beschriebenen Beispielen.

scp -r Desktop/testdir [email protected]: Dokumente/

Der Flag ist nützlich, um Dateien auf Systeme ohne das SFTP -Protokoll hochzuladen.

SCP -or Desktop/testdir [email protected]: Dokumente/

Um die Übertragung zu beschleunigen, kann der Benutzer auch beim Hochladen von Dateien komprimieren.

Im folgenden Beispiel kombiniert der Benutzer die rekursiv -R Flagge mit dem -C (Kompressflagge).

scp -rc Desktop/testdir [email protected]: Dokumente/

Deaktivierung scp Kennwortauthentifizierung und Aktivierung der Schlüsselauthentifizierung

Ursprünglich basierte das SCP -Protokoll auf dem SSH -Protokoll (Secure Shell), aber derzeit arbeitet es durch neuere Protokolle wie wie sftp oder rsync.

Die zu bearbeitende Konfigurationsdatei, um die Schlüsselauthentifizierung zu aktivieren und die Kennwortanmeldung zu deaktivieren, ist /etc/ssh/sshd_config. Diese Datei enthält zusätzliche Optionen, um die Sicherheit der SCP -Dateien zu erhöhen.

Öffnen Sie auf dem Computer, sodass eingehende Verbindungen aus dem Herunterladen von Dateien oder wo sie hochgeladen werden, das Öffnen Sie die /etc/ssh/sshd_config Datei mit Privilegien mit einem einfachen Texteditor wie Vim oder Nano.

sudo nano/etc/ssh/sshd_config

Scrollen Sie nach unten und finden Sie die Linie, die enthält PubkeyAuthentication Nr, Ersetzen Sie es durch PubkeyAuthentication Ja (Ersetze das "NEIN" mit "Ja”)).

Auch bestätigen Erläuterung Nr Um die Root -Anmeldung zu deaktivieren, weil jeder in der Welt die Existenz des Stammbenutzers kennt, was das Ziel jeder Art von Angriff, einschließlich Brute -Force, sein kann.

Der Wurzel Superuser existiert in allen Unix -basierten Systemen einschließlich Linux. Es ist keine gute Entscheidung, sich mit einem privilegierten Benutzernamen zu ermöglichen, der allen auf der Welt bekannt ist.

Deaktivieren Sie noch keine Kennwortmeldung, da für den Schlüsselkopiervorgang eine Kennwortanmeldung erforderlich ist, bevor sich die Systeme mit Tasten authentifizieren können.

Beenden Sie die Änderungen der Konfigurationsdateispeichern und starten Sie den SSH -Dienst neu, indem Sie die folgenden Anweisungen befolgen.

Debian -basierte Linux -Verteilungen:

sudo systemctl starten ssh neu

Redhat -basierte Linux -Verteilungen:

sudo systemctl starten ssh neu

Auf der Clientseite muss der Benutzer das Tastenpaar mit dem Computer herunterladen und hochladen ssh-keygen Befehl.

Drücken Sie nach dem Ausführen des Befehls EINGEBEN Um das Standardverzeichnis zu verlassen (~/.SSH/ID_RSA) oder das Äquivalent in Ihrer Linux -Verteilung. Der Prozess ermöglicht die Implementierung einer Passphrase bei der Authentifizierung. Durch die Einbeziehung einer Passphrase wird das Sicherheitsniveau erhöht. Es wird empfohlen, eins einzugeben und zu drücken EINGEBEN. Wenn Sie keine Passphrase hinzufügen möchten, drücken Sie einfach EINGEBEN ohne es zu tippen.

ssh-keygen

Nach erfolgreichem Erstellen des Schlüsselpaares muss der Client den Schlüssel mit dem Server an den Server senden ssh-copy-id Befehl mit der Syntax des folgenden praktischen Beispiels.

ssh-copy-id [email protected]

Testen Sie nach dem Kopieren des Schlüssels die Authentifizierungsmethode, indem Sie eine Verbindung zum zweiten Gerät herstellen.

Wenn die wichtigste Authentifizierung erfolgreich ist, kann sich der Benutzer anmelden, ohne das Kennwort einzugeben. Wenn der Benutzer beim Erstellen des Schlüsselpaares eine Passphrase definiert hat, wird er anstelle des Kennworts angefordert, wie im folgenden Screenshot gezeigt.

sftp @@

Nach der Bestätigung der öffentlichen Schlüsselauthentifizierung ist ordnungsgemäß funktioniert, es wird dringend empfohlen, die Kennwortauthentifizierung zu deaktivieren.

So deaktivieren Sie die Passwortauthentifizierung, auf der Serverseite, öffne die Datei /etc/ssh/sshd/config mit Privilegien wieder mit einem Texteditor wie wie Nano oder vi.

sudo nano/etc/ssh/sshd/config

Scrollen Sie die Konfigurationsdatei nach unten und ersetzen Sie die Zeile PAsswordAuthentication Ja mit PasswortAuthentication -Nr.

In einigen Fällen kann der SCP/SSH -Port geändert werden, wenn die Anzahl der Benutzer reduziert wird, um massive Scans zu verhindern. Diese Änderung muss in dieser Datei durchgeführt werden. Wenn der Benutzer den Standardport ändert, muss er die Option -P beim Übertragen von Dateien implementieren.

Verlassen Sie die Veränderungen des Speicherns.

Starten Sie auf Debian -basierten Linux -Systemen den SSH -Dienst mit dem folgenden Befehl neu:

sudo systemctl starten ssh neu

Starten Sie den SSH -Dienst auf Redhat -basierten Linux -Verteilungen neu:

sudo systemctl starten sshd neu

Jetzt kann sich der Benutzer mit der Schlüsselauthentifizierung anmelden.

Abschluss

Die Verwendung des SCP -Befehls ist ziemlich einfach. Jeder Linux -Benutzer kann lernen, seine Erfahrungen mit Netzwerkaufgaben zu verbessern. Es erleichtert die Interaktion mit anderen Computern innerhalb eines Netzwerks aus der Befehlszeile definitiv. Alle Anweisungen in diesem Tutorial sind für alle Linux -Verteilungen gültig, mit Ausnahme der auf Debian- und Redhat -basierten Linux -Verteilungen beschränkten Installationsmethoden. Jeder aus dem Terminal arbeitende Netzwerkadministrator muss diesen Befehl dominieren.