1. Startseite
  2. Dateisystem
  3. Wie man Dateien sicher mit dem SCP-Befehl überträgt
  1. Startseite
  2. Datentransfer
  3. Wie man Dateien sicher mit dem SCP-Befehl überträgt

Wie man Dateien sicher mit dem SCP-Befehl überträgt

SCP (Secure Copy) ist ein Befehlszeilenprogramm, mit dem du Dateien und Verzeichnisse sicher zwischen verschiedenen Orten kopieren kannst.

Verwende scp zum Kopieren von Dateien oder Verzeichnissen:

  • Von deinem lokalen System zu einem entfernten System.
  • Von einem entfernten System zu deinem lokalen System.
  • Zwischen zwei entfernten Systemen von deinem lokalen System aus.

Bei der Verwendung von scp werden sowohl die Dateien als auch die Passwörter verschlüsselt, um sensible Daten vor Ausspähung zu schützen.

In diesem Tutorial zeigen wir dir, wie du den scp-Befehl anhand von Beispielen und Erklärungen der gängigsten Optionen nutzen kannst.

SCP-Befehlssyntax

Bevor wir uns mit der Verwendung des scp-Befehls beschäftigen, betrachten wir die grundlegende Syntax:

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
  • OPTION – Optionen wie Verschlüsselung, SSH-Konfiguration, SSH-Port, Limit, rekursives Kopieren usw.
  • [user@]SRC_HOST:]file1 – Quelldatei.
  • [user@]DEST_HOST:]file2 – Zielort.

Lokale Dateien erfordern einen absoluten oder relativen Pfad, während entfernte Dateien Benutzer- und Hostinformationen enthalten.

Einige der am häufigsten verwendeten Optionen sind:

  • -P – SSH-Port des entfernten Hosts.
  • -p – Behält Änderungs- und Zugriffszeiten der Dateien bei.
  • -q – Unterdrückt Fortschrittsanzeigen und Nicht-Fehlermeldungen.
  • -C – Komprimiert Daten während der Übertragung.
  • -r – Kopiert Verzeichnisse rekursiv.

Vorbereitung

Der scp-Befehl verwendet SSH zur Datenübertragung und erfordert daher SSH-Authentifizierung mittels Schlüssel oder Passwort auf den entfernten Systemen.

Mit einem Doppelpunkt (:) unterscheidet scp zwischen lokalen und entfernten Standorten.

Du benötigst Leserechte auf der Quelldatei und Schreibrechte auf dem Zielsystem, um Dateien zu kopieren.

Sei vorsichtig beim Kopieren von Dateien mit denselben Namen und Speicherorten, da scp Dateien ohne Warnung überschreibt.

Bei großen Dateien empfiehlt es sich, scp in einer Screen- oder tmux-Sitzung auszuführen.

Kopieren von Dateien und Verzeichnissen

Kopieren einer lokalen Datei auf ein entferntes System

Um eine Datei von einem lokalen auf ein entferntes System zu kopieren, verwende:

scp datei.txt remote_username@10.10.0.2:/remote/directory

Hierbei ist Datei.txt der Dateiname, remote_username der Benutzer auf dem entfernten Server und 10.10.0.2 die Server-IP. /remote/directory ist der Zielverzeichnispfad. Ohne Angabe eines Remote-Verzeichnisses wird die Datei ins Home-Verzeichnis des Benutzers kopiert.

Du wirst zur Eingabe des Benutzerkennworts aufgefordert, bevor die Übertragung beginnt.

Wenn SSH auf einem anderen Port als dem Standardport 22 läuft, verwende das -P-Argument:

scp -P 2322 file.txt remote_username@10.10.0.2:/remote/directory

Das Kopieren eines Verzeichnisses erfordert das -r-Flag für rekursives Kopieren:

scp -r /lokal/Verzeichnis remote_username@10.10.0.2:/remote/directory

Kopieren einer entfernten Datei auf ein lokales System

Um eine Datei von einem entfernten auf ein lokales System zu kopieren, verwende den entfernten Ort als Quelle und den lokalen Ort als Ziel:

scp remote_username@10.10.0.2:/remote/file.txt /local/directory

Bei passwortloser SSH-Anmeldung wirst du zur Eingabe des Benutzerpassworts aufgefordert.

Kopieren zwischen zwei entfernten Systemen

Im Gegensatz zu rsync musst du dich bei scp nicht auf einem der Server anmelden, um zwischen zwei entfernten Rechnern zu kopieren:

scp user1@host1.com:/files/file.txt user2@host2.com:/files

Gib die Passwörter für beide Konten ein. Die Daten werden direkt von einem Remote-Host zum anderen übertragen.

Um den Datenverkehr über den Rechner zu leiten, auf dem der Befehl erteilt wird, verwende -3:

scp -3 user1@host1.com:/files/file.txt user2@host2.com:/files

Zusammenfassung

Dieses Tutorial hat dir gezeigt, wie du den scp-Befehl verwendest, um Dateien und Verzeichnisse sicher zu kopieren.

Erwäge die Einrichtung einer SSH-Schlüssel-basierten Authentifizierung für eine passwortlose Verbindung zu Linux-Servern.

Definiere regelmäßig verwendete Verbindungen in der SSH-Konfigurationsdatei, um deinen Workflow zu vereinfachen.

War dieser Beitrag hilfreich?

Verwandte Beiträge