So verwenden Sie den SCP-Befehl zum Kopieren und Übertragen von Dateien unter Linux

Das Secure Copy Protocol (SCP) ist ein Protokoll für die effiziente und sichere Übertragung von Dateien zwischen zwei Systemen über ein Netzwerk. SCP nutzt Secure Shell (SSH), um die Systeme zu authentifizieren und Ihre Daten zu verschlüsseln.

Der SCP-Befehl vereinfacht die Datenübertragung zwischen Linux-Systemen, da sich Administratoren nicht auf beiden Servern anmelden müssen. Zudem ist SCP sicherer als andere Methoden wie das File Transfer Protocol (FTP) und wird häufig zur Verwaltung von Remote-Systemen verwendet.

In diesem Artikel erfahren Sie, wie Sie den SCP-Befehl auf einem Remote-Host wie einem Virtual Private Server (VPS) verwenden. Wir erläutern die Syntax des Befehls und zeigen anhand von SCP-Beispielen, wie er funktioniert.

SCP-Befehlssyntax

Die grundlegende SCP-Syntax für die Übertragung einer Datei zwischen zwei verschiedenen Remote-Servern lautet:

scp [Optionen] [Quelle Benutzername@IP]:/[Verzeichnis und Dateiname] [Ziel Benutzername@IP]:/[Zielverzeichnis]

Der Befehl setzt sich wie folgt zusammen:

  • [Optionen] ‒ Modifikatoren, mit denen Sie das Verhalten des SCP-Befehls ändern.
  • [Quelle Benutzername@IP] ‒ Benutzername und IP-Adresse des Quellsystems.
  • :/ ‒ Trennzeichen zwischen der Systemadresse und dem Verzeichnispfad.
  • [Verzeichnis und Dateiname] ‒ Speicherort und Name der Datei.
  • [Ziel Benutzername@IP] ‒ Benutzerkonto und IP-Adresse des Zielsystems.
  • [Zielverzeichnis] ‒ Zielverzeichnis für die übertragenen Dateien.

Das folgende Beispiel zeigt einen SCP-Befehl zum Kopieren von Dateien zwischen zwei Remote-Systemen:

scp root@162.168.1.1:/media/scp.png hostinger@162.168.1.2:/desktop/destination

Stellen Sie sicher, dass der root-Zugriff auf dem Remote-System aktiviert ist. Wenn Sie ein anderes Konto verwenden, prüfen Sie, ob es über Schreibberechtigungen für den Zielordner verfügt. Andernfalls können Sie Dateien nur in das Home-Verzeichnis des Benutzers übertragen.

Wenn Sie Dateien auf einen lokalen Host oder von diesem kopieren, lassen Sie für den lokalen Host die IP-Adresse weg und geben Sie nur einen Pfad wie /desktop/folder_name an. Der Befehl sieht dann wie folgt aus:

scp scp.png hostinger@162.168.1.2:/desktop/destination

So kopieren Sie Dateien mit dem SCP-Befehl

In den folgenden Abschnitten zeigen wir anhand praktischer SCP-Beispiele, wie Sie Dateien zwischen verschiedenen Systemen übertragen.

Warning

Seien Sie bei der Verwendung von SCP-Befehlen vorsichtig, da Sie Dateien und Verzeichnisse mit demselben Namen überschreiben können.

Verwenden Sie den SCP-Befehl mit Hostinger VPS

Um den SCP-Befehl auszuführen, müssen Sie auf die Bash-Shell des Quellsystems zugreifen. Bei einem Remote-Server wie einem VPS können Sie über PuTTY eine SSH-Verbindung herstellen oder das Terminal Ihres Computers verwenden.

Wenn Sie VPS-Hosting von Hostinger nutzen, verwenden Sie die Funktion Browser-Terminal im Menü Serverübersicht des Mitgliederbereichs. Damit stellen Sie direkt über einen Browser eine Verbindung zu einem Remote-Server her und führen dort Befehle aus, was die Arbeit effizienter macht.

Unser Browser-Terminal nutzt außerdem das VNC-Protokoll für den Zugriff auf den Remote-Server. Dadurch können Sie SSH-Befehle wie SCP auch dann ausführen, wenn das Zielsystem den Verbindungsport schließt.

Hostinger Agent, unser KI-gestützter Assistent, ist überall in hPanel über die Schaltfläche Click AI verfügbar. Mit einfachen Prompts können Sie damit einsatzbereite SCP-Befehle für Ihre Anforderungen generieren und die Verwaltung effizienter gestalten.

Sie können beispielsweise folgenden Prompt eingeben: „Generiere den SCP-Befehl, um die Datei config.yaml vom Pfad /web_app/configuration auf meinem aktuellen Server in das Remote-Verzeichnis /live_app/config auf meinem VPS zu übertragen. Der Benutzername des Zielservers lautet root und seine IP-Adresse 168.162.1.2.“

Hostinger Agent gibt den vollständigen Befehl aus, den Sie kopieren und in das Terminal einfügen können, wie im folgenden Beispiel:

Kopieren Sie Dateien von einem lokalen System auf einen Remote-Host

Mit dem SCP-Befehl können Sie Dateien von einem lokalen System auf einen Remote-Host wie einen VPS kopieren und so die Bereitstellung von Webanwendungen vereinfachen. Aktualisierte Dateien lassen sich damit schnell von der lokalen Entwicklungsumgebung auf den Live-Server übertragen.

Im folgenden Beispiel kopieren wir die lokale Datei scp.zip mit dem Benutzer root auf einen Remote-Server. Geben Sie dazu den Benutzernamen und die IP-Adresse des Remote-Servers an:

scp /users/Hostinger/desktop/scp.zip root@162.168.1.2:/writing/article

Wenn Sie noch kein SSH-Schlüsselpaar eingerichtet haben, fordert das Terminal Sie auf, das Benutzerpasswort des Remote-Systems einzugeben. Außerdem wird ein Fortschrittsbalken angezeigt:

Das Terminal zeigt eine Passwortabfrage und einen SCP-Fortschrittsbalken an

Nach Abschluss der Übertragung können Sie die Datei mit dem Linux-Befehl unzip im Terminal des Zielsystems entpacken.

Der SCP-Befehl verwendet standardmäßig den SSH-Port 22, um Dateien sicher zu kopieren. Serveradministratoren können jedoch einen anderen Port einrichten, um unbefugten Zugriff zu verhindern. Fügen Sie in diesem Fall die Option -P hinzu, um einen benutzerdefinierten Port für SCP zu verwenden:

scp -P 2322 /users/Hostinger/desktop/scp.zip root@162.168.1.2:/writing/article

Um den Namen der übertragenen Datei zu ändern, geben Sie im Zielpfad den neuen Dateinamen an. Der folgende SCP-Befehl benennt scp.zip in howtoscp.zip um:

scp /users/Hostinger/desktop/scp.zip root@162.168.1.2:/writing/article/howtoscp.zip

Mit dem SCP-Befehl können Sie außerdem Verzeichnisse rekursiv kopieren und so mehrere Dateien innerhalb eines Ordners gleichzeitig übertragen. Verwenden Sie dazu scp -r und geben Sie den Ordner an, den Sie übertragen möchten:

scp -r /users/Hostinger/desktop root@162.168.1.2:/writing/article

Der obige Befehl kopiert den Inhalt des Ordners desktop einschließlich der Unterordner in das Remote-Verzeichnis /writing/article. Alternativ können Sie mehrere Dateien kopieren, indem Sie deren Namen angeben:

scp file1.txt file2.txt file3.txt root@162.168.1.2:/writing/article

Profi-Tipp

Um den vollständigen Pfad eines Verzeichnisses zu ermitteln, navigieren Sie zum entsprechenden Verzeichnis und verwenden Sie den Befehl pwd.

Übertragen Sie eine Remote-Datei auf einen lokalen Rechner

Um eine SCP-Datenübertragung von einem Remote-System auf ein lokales System zu starten, vertauschen Sie die Positionen von Quelle und Ziel in der Syntax. So können Sie Projektdateien einfach herunterladen und offline bearbeiten, was die Anwendungsentwicklung effizienter macht.

Mit dem folgenden Befehl kopieren Sie beispielsweise die Datei scp.zip von einem Remote-VPS auf einen lokalen Rechner:

scp root@162.168.1.2:/writing/articles/SCP.zip Users/Hostinger/Desktop

Beim Ausführen des Befehls erscheint die SSH-Anmeldeabfrage, in der Sie das Benutzerpasswort eingeben müssen. Wenn Sie die Passwortauthentifizierung mithilfe von sudo-Berechtigungen auf dem Remote-Server deaktivieren und die Authentifizierung mit öffentlichem Schlüssel aktivieren, erscheint die Abfrage nicht.

Übertragen Sie eine Datei sicher zwischen Remote-Hosts

Neben der Übertragung zum oder vom aktuellen System können Sie SCP verwenden, um Dateien zwischen zwei Remote-Linux-Systemen zu übertragen. Führen Sie dazu den Befehl auf Ihrem lokalen Computer aus und geben Sie die Adressen der beiden Remote-Systeme als Quelle und Ziel an.

Wenn Sie mehrere Projekte auf verschiedenen Remote-Systemen hosten, können Sie damit effizienter arbeiten. Statt sich einzeln bei mehreren Systemen anzumelden, können Sie Dateien von Ihrem aktuellen Computer aus direkt zwischen den Remote-Systemen übertragen.

Mit dem folgenden Befehl übertragen Sie beispielsweise die Remote-Datei scp.zip von root@162.168.1.2 nach hostinger@162.168.1.1:

scp root@162.168.1.2:/writing/article/scp.zip hostinger@162.168.1.1:/publishing

Zum Kopieren von Dateien zwischen zwei Remote-Servern benötigen Sie die SSH-Passwörter beider Konten.

Standardmäßig überträgt der SCP-Befehl die Daten direkt vom ersten Remote-System zum zweiten. Wenn Sie den Vorgang über Ihr aktuelles lokales System umleiten möchten, fügen Sie die Option -3 hinzu:

scp -3 root@162.168.1.2:/writing/article/scp.zip hostinger@162.168.1.1:/publishing

Verwenden Sie diese Option, wenn während der Übertragung ein Netzwerkfehler auftritt. Dieser tritt in der Regel auf, wenn das Quellsystem aufgrund einer fehlenden direkten Verbindung nicht auf das Zielsystem zugreifen und die Daten kopieren kann.

Wenn Sie die SCP-Übertragung über den lokalen Host umleiten, empfängt der Zielserver die Dateien über Ihren Computer statt direkt vom Quellsystem. Dieser Vorgang dauert jedoch länger und zeigt Informationen wie den Fortschrittsbalken nicht an.

So verwenden Sie den SCP-Befehl mit Optionen

Es gibt verschiedene SCP-Befehlsoptionen, mit denen Sie das Verhalten der Datenübertragung anpassen können. Sie eignen sich für Benutzer mit fortgeschrittenen technischen Kenntnissen, die Dateien entsprechend ihren Anforderungen und Sicherheitsvorgaben auf eine bestimmte Weise kopieren möchten.

Optionen können aus einem einzelnen Zeichen (-o) oder einer beschreibenden Entsprechung (–option) bestehen. Beide funktionieren ähnlich, allerdings bieten manche Befehlszeilenprogramme keine Kurzform an.

Im Gegensatz zu anderen Linux-Befehlen können Sie den Parameter –help nicht verwenden, um das SCP-Handbuch und die verfügbaren Optionen anzuzeigen. Führen Sie stattdessen den Befehl ohne Parameter aus:

scp

Eine häufig verwendete SCP-Befehlsoption ist -q. Sie aktiviert den stillen Modus und blendet den Fortschrittsbalken, Warnungen und Diagnosemeldungen aus. Beispiel:

scp -q /users/Hostinger/desktop/scp.zip root@162.168.1.2

Verwenden Sie den Parameter -v, um die ausführliche Ausgabe zu aktivieren. Er zeigt detaillierte Debugging-Meldungen zum Kopiervorgang an und erleichtert so die Fehlerbehebung:

scp -v /users/Hostinger/desktop/scp.zip root@162.168.1.2
Das Terminal zeigt Debugging-Meldungen für den SCP-Befehl im ausführlichen Modus an

Die Optionen -4 und -6 legen fest, welche Version des Internetprotokolls für die Datenübertragung verwendet wird – IPv4 oder IPv6. Passen Sie bei der Verwendung dieser Optionen die Adressen der Remote-Systeme entsprechend an:

scp -4 root@162.168.1.2:/users/Hostinger/desktop/scp.zip

Verwenden Sie die Option -p, um Daten der Quelldatei wie Modus, Änderungs- und Zugriffszeiten beizubehalten. Beachten Sie, dass sich -p von der großgeschriebenen Option -P unterscheidet, mit der Sie den Übertragungsport ändern. Die Syntax lautet:

scp -p /users/Hostinger/desktop/scp.zip root@162.168.1.2

Important

Seien Sie bei der Verwendung von SCP-Befehlsoptionen vorsichtig, da bei ihnen zwischen Groß- und Kleinschreibung unterschieden wird.

Die Option -C komprimiert die kopierten Dateien oder Verzeichnisse während der Übertragung. Sie funktioniert mit allen Dateien außer Archiven wie .zip und .rar. Der Befehl sieht wie folgt aus:

scp -C Folder root@162.168.1.2

Mit der kleingeschriebenen Option -c können Sie dagegen den Verschlüsselungsalgorithmus des Client-Systems festlegen. Standardmäßig ist AnyStdCipher eingestellt. Sie können jedoch auch andere Werte wie aes256-ctr, aes256-cbc und 3des-cbc verwenden.

Alle verfügbaren Werte finden Sie im Abschnitt Ciphers des SSH_config-Handbuchs. Das folgende Beispiel zeigt einen SCP-Befehl mit der Verschlüsselung 3des-cbc:

scp -c 3des-cbc /users/Hostinger/desktop/scp.zip root@162.168.1.2

Wenn Sie eine Datei auf eine bestimmte Weise kopieren möchten, dafür aber keine passende SCP-Option vorhanden ist, verwenden Sie die Option -o. Damit können Sie SSH-Optionen aus der Konfigurationsdatei auf Ihren SCP-Befehl anwenden.

Fügen Sie dazu das Schlüssel-Wert-Paar der Einstellung in Anführungszeichen ein:

scp -o "option=value" /directory/path/file

Jede Option -o akzeptiert nur ein Schlüssel-Wert-Paar. Wenn Sie mehrere SSH-Einstellungen übergeben möchten, fügen Sie weitere -o-Optionen hinzu. Der folgende SCP-Befehl versucht beispielsweise maximal zweimal, eine Verbindung zum Zielsystem herzustellen, und bricht den Verbindungsversuch nach fünf Sekunden ab:

scp -o "ConnectionAttempts=2" -o="ConnectTimeout=5" /users/scp.zip root@162.168.1.2

Durch die Übergabe der SSH-Einstellungen wird die Konfigurationsdatei nicht geändert, da die Einstellungen nur für die aktuelle SCP-Sitzung gelten. Weitere Informationen zu den verfügbaren Schlüsseln und ihren Werten finden Sie im SSH_config-Handbuch.

Fazit

Mit dem Linux-Befehl scp kopieren Sie Dateien sicher über eine verschlüsselte SSH-Verbindung zwischen Systemen. Damit bietet SCP eine effizientere und sicherere Alternative zu FTP. Die Syntax umfasst Optionen, Systemadressen, den Speicherort der Datei und den Zielpfad. Bei lokalen Übertragungen entfallen die Adresse und das Verzeichnis.

Mit SCP können Sie Dateien sowohl zwischen lokalen und Remote-Systemen als auch zwischen zwei Remote-Systemen über einen lokalen Rechner übertragen. Mit Optionen wie -P und -C können Sie den Übertragungsvorgang anpassen.

Hostinger-Nutzer können mit unserem KI-Assistenten Hostinger Agent ganz einfach SCP-Befehle generieren. Über das Browser-Terminal können Sie außerdem Befehle direkt auf Remote-Servern über einen Browser ausführen.

Häufig gestellte Fragen (FAQ) zum SCP-Befehl für Dateiübertragungen

In diesem Abschnitt beantworten wir einige häufige Fragen zum SCP-Befehl unter Linux.

Wie führe ich SCP unter Windows aus?

Unter Windows können Sie SCP mit dem PSCP-Befehlszeilenprogramm von PuTTY ausführen, das im SSH-Client enthalten ist. Öffnen Sie dazu die Windows PowerShell-Befehlszeile. Die Syntax ähnelt der von SCP, beginnt jedoch mit pscp -scp.

Kann ich ein Passwort im SCP-Befehl übergeben?

Ja. Unter Linux können Sie ein Passwort mit SCP übergeben, indem Sie das Befehlszeilenprogramm sshpass mit der Option -p verwenden. Unter Windows verwenden Sie pscp mit der Option -pw. Geben Sie das SSH-Passwort jeweils nach der Option an. Die übrige Syntax entspricht der eines regulären SCP-Befehls.

Wie kann ich SCP anhalten oder unterbrechen?

Halten Sie den Prozess an, indem Sie mit der Tastenkombination Strg+Z das SIGTSTP-Signal senden. Um den Prozess fortzusetzen, senden Sie das SIGCONT-Signal, indem Sie fg eingeben. Wenn SIGCONT nicht funktioniert, verwenden Sie das Tool rsync, um zu prüfen, ob sich die Inhalte der Systeme unterscheiden, und nur die Dateien zu kopieren, die im Zielverzeichnis fehlen.

Alle Tutorial-Inhalte auf dieser Website unterliegen Hostingers strengen redaktionellen Standards und Normen.

Author
Erstellt von

Faradilla Ayunindya

Faradilla, auch bekannt als Ninda, ist Content Marketing Specialist bei Hostinger mit über fünf Jahren Erfahrung und einem zehnjährigen Hintergrund als Linguistin. Sie möchte Technologie für alle zugänglich machen, indem sie komplexe Anleitungen in klare und leicht verständliche Schritt-für-Schritt-Guides verwandelt. In ihrer Freizeit interessiert sie sich für Biowissenschaften oder schaut gerne lustige Tiervideos. Vernetzen Sie sich mit ihr auf LinkedIn.

Was unsere Kunden sagen

Comments

0 responses

Write a respond

Please fill the required fields.Bitte akzeptieren Sie die Datenschutzklausel.Bitte füllen Sie die erforderlichen Felder aus und akzeptieren Sie die Datenschutzklausel.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.