Es gibt Zeiten, in denen Sie Dateien zwischen Ihrem lokalen System und einem Remote-Server übertragen möchten. Es stehen verschiedene Protokolle und Methoden zur Verfügung, mit denen Sie die Dateiübertragung sicher abwickeln können.
Der Befehl scp unter Linux ist ein solches Tool, mit dem ein Benutzer Dateien remote zwischen lokalen und Remote-Hosts austauschen kann. In diesem Artikel werden wir den Befehl scp ausführlich erläutern, zusammen mit seiner Verwendung und einigen zusätzlichen Funktionen des Befehls.
Was ist der Scp-Befehl?
Scp, eine Abkürzung für Sichere Kopieist ein Befehlszeilenprogramm in Linux-basierten Betriebssystemen, mit dem ein Benutzer Dateien zwischen Remote- und lokalen Hosts kopieren kann. Da der Befehl Dateien über ein Netzwerk an einen anderen Host überträgt, ist ein SSH-Zugriff erforderlich. SSH (Secure Shell) ist ein Protokoll, mit dem Sie Netzwerkdienste sicher über jedes Netzwerk verwalten können.
Der Befehl scp unterstützt auch einige zusätzliche Funktionen wie das Festlegen von Authentifizierungsparametern, das Ändern des Ports, das Übertragen von Verzeichnissen und vieles mehr.
Warum Scp besser ist als andere Methoden
Scp wird normalerweise anderen Dateiübertragungsmethoden vorgezogen, da während der Übertragung die Verbindung zwischen den beiden Hosts verschlüsselt wird. Das SSH-Protokoll ist für die Verschlüsselung der Dateien, Kennwörter und anderer vertraulicher Details verantwortlich.
Andere Übertragungsmethoden wie Telnet oder FTP haben keine Verschlüsselung. Außerdem wird das Benutzer- / Kennwort-Schlüsselpaar im Klartext gespeichert, was überhaupt keine gute Vorgehensweise ist. Ein Cracker kann einfach auf Ihre Informationen zugreifen, indem er an Ihrem Netzwerk schnüffelt.
So übertragen Sie Dateien sicher mit Scp
Mit dem Befehl scp können Sie Dateien übertragen zwischen:
- Ein lokaler Host und ein Remote-Host
- Ein Remote-Host und ein lokales System
- Zwei Remote-Hosts
Grundlegende Syntax
Die grundlegende Syntax des Befehls scp lautet:
scp [Optionen] [Quelle] [Ziel]
Übertragung vom lokalen Host auf ein Remote-System
Wenn Sie ein Serveradministrator sind, kann das Übertragen von Dateien zwischen einem lokalen Host und Remote-Hosts für Sie hilfreich sein. So laden Sie eine Datei mit dem Namen hoch document.txt zu einem Remote-Host:
scp /home/document.txt user @ remote-host: /home/document.txt
Beachten Sie, dass die Quelle der Pfad der Datei in Ihrem lokalen Speicher ist. Das Ziel ist der Pfad der Datei auf dem Remote-Host. Sie müssen auch den Benutzernamen und den Domänennamen des Remote-Servers angeben. Im obigen Befehl Nutzer ist der Benutzername und Remote-Host ist der Domainname.
Der Zielpfad wird mithilfe von von den Remote-Host-Details getrennt Doppelpunkt Zeichen (:). Beachten Sie, dass der Benutzer auf dem Remote-Server vorhanden sein muss, wenn Sie die Dateien erfolgreich übertragen möchten. Außerdem sollte der Benutzer Schreibzugriff auf das Verzeichnis haben, in dem Sie die Datei speichern möchten.
Nach der Ausgabe des oben genannten Befehls werden Sie vom System nach dem Kennwort des Remotebenutzers gefragt. Geben Sie das Passwort ein und drücken Sie Eingeben.
Kennwort von user @ remote-host:
Wenn das Passwort gültig ist, wird die Dateiübertragung initialisiert. Wenn Sie ein falsches Passwort eingegeben haben, tritt ein Fehler auf.
Stellen Sie vor dem Kopieren der Datei mit dem Befehl scp sicher, dass die Details des Remote-Hosts und das Kennwort korrekt sind, indem Sie sich mit SSH beim Server anmelden.
Von einem Remote-Host zu einem lokalen Host
Um Dateien von einem Remote-Host auf einen lokalen Host zu kopieren, tauschen Sie einfach den Quell- und Zielpfad im Befehl scp aus.
scp user @ remote-host: /home/document.txt /home/document.txt
Das System fragt Sie erneut nach dem Kennwort des Remote-Benutzers. Geben Sie das Passwort ein, um den Übertragungsvorgang zu bestätigen.
Zwischen zwei Remote-Hosts
Um Dateien zwischen zwei Remote-Servern zu kopieren, müssen sowohl der Quell- als auch der Zielpfad Verzeichnisse auf den Remote-Hosts sein.
scp user1 @ remote-host1: /home/document.txt user2 @ remote-host2: /home/folder/document.txt
Wieder wird eine Eingabeaufforderung angezeigt, in der Sie aufgefordert werden, das Kennwort für jeden der beiden Benutzer einzugeben.
Scp-Befehlszeilenoptionen
Neben der einfachen Übertragung der Dateien von der Quelle zum Ziel verfügt scp über einige zusätzliche Optionen, die mit bestimmten Argumenten aufgerufen werden können.
Ändern Sie den Port
Standardmäßig funktioniert der Befehl scp an Port 22. Sie können jedoch jederzeit die Standardkonfiguration überschreiben und den Port ändern. Das -P Mit flag können Sie dasselbe tun.
So verwenden Sie eine andere Portnummer beim Kopieren von Dateien von einem lokalen Host auf einen Remote-Host:
scp -P 35 /home/document.txt user @ remote-host: /home/document.txt
Der oben genannte Befehl stellt sicher, dass der Befehl scp Port 35 zum Übertragen von Dateien verwendet.
Datei-Zeitstempel beibehalten
Das weißt du vielleicht Linux legt Zeitstempel für jede Datei fest Speichern der Änderungszeit, der Zugriffszeit und der Änderungszeit, die der Datei zugeordnet sind. Wenn Sie die Datei mit scp an einen anderen Speicherort übertragen, werden die Zeitstempel der Zieldatei durch die aktuelle Uhrzeit überschrieben.
Wenn Sie diese Zeitstempel aus irgendeinem Grund beibehalten möchten, verwenden Sie die -p Flagge. Beachte das -P und -p Flags unterscheiden sich voneinander.
scp -p /home/document.txt user @ remote-host: /home/remote/document.txt
Verzeichnisse kopieren
Wenn Sie Verzeichnisse anstelle von Dateien kopieren möchten, verwenden Sie die -r Flag zum rekursiven Übertragen von Verzeichnissen.
scp -r user @ remote-host: / home / videos / home / videos
Unterdrückter Modus
Wenn Sie den Befehl scp eingeben, um Dateien zu übertragen, zeigt das Terminal den Fortschrittsbalken und andere zugehörige Informationen auf dem Bildschirm an. Sie können diese Informationen jedoch nicht mit der Option anzeigen -q Flagge.
scp -q user @ remote-host: /home/document.txt /home/document.txt
Verwenden Sie zur Authentifizierung eine Schlüsselpaardatei
Wenn Sie die Remote-Host-Verbindung mithilfe einer Schlüsselpaardatei authentifizieren möchten, geben Sie den Pfad der Datei mithilfe von an -ich Flagge.
scp -i /home/keypair.pem /home/document.txt user @ remote-host: /home/document.txt
Mehrere Flags miteinander verketten
Wie bei jedem anderen Linux-Befehl können Sie mehrere Argumente miteinander verketten, um den Befehl scp effektiver zu gestalten.
So ändern Sie beispielsweise den Port und übertragen Dateien im unterdrückten Modus:
scp -P 34 -q user @ remote-host: /home/document.txt home / document.txt
Wenn Sie eine Schlüsselpaardatei zur Authentifizierung verwenden möchten und Verzeichnisse in den Zielpfad kopieren müssen:
scp -i /home/secret/keypair.pem -r / home / Ordner user @ remote-host: / home / Ordner
Dateiübertragung zwischen Linux-Systemen
In der Welt des Internets ist das Übertragen von Dateien zwischen Systemen zu einer wesentlichen Aufgabe geworden. Für diejenigen, die Linux-Server verwalten, ist es manchmal wichtig, eine Sicherungskopie des Servers zu erstellen, bevor ein bestimmter Befehl ausgegeben wird. In solchen Situationen ist der Befehl scp nützlich.
Ähnlich, der Befehl cp Hilft beim Kopieren der Dateien von einem Speicherort an einen anderen in einem lokalen System. Es gibt viele grundlegende Befehle, die ein Muss sind, wenn Sie gerade erst mit Linux beginnen.
Mit diesem einfachen Spickzettel können Sie sich in kürzester Zeit mit dem Linux-Befehlszeilenterminal vertraut machen.
Weiter lesen
- Linux
- Dokumentenverwaltung
- Linux
- SSH
Deepesh ist der Junior Editor für Linux bei MUO. Er schreibt seit über 3 Jahren Informationsinhalte im Internet. In seiner Freizeit schreibt er gerne, hört Musik und spielt Gitarre.
Abonniere unseren Newsletter
Melden Sie sich für unseren Newsletter an, um technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote zu erhalten!
Noch ein Schritt…!
Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.