Als Tool müssen Sie SSH ein Kennwort für den SSH -Benutzer oder einen SSH -Schlüssel für den Zielhost bereitstellen. In diesem Tutorial untersuchen wir, wie Sie Dateien und Verzeichnisse mit dem SCP -Befehl kopieren können.
SCP -Befehl
Der SCP-Befehl ist in jedem System verfügbar, in dem die SSH-Client- und Serverpakete installiert sind. Sie können dann den SCP -Befehl mit der folgenden Syntax aufrufen:
$ scp user@source_host: source_filename user@destination_host: destination_filename
Der vorherige Befehl erfordert nur wenige Parameter wie:
Stellen Sie sicher, dass der angegebene Benutzer die Lesen und Schreiben von Berechtigungen in der Zieldatei oder des Verzeichnisses des Remote -Hosts hat.
Sie können auch andere Optionen im SCP -Befehl angeben, um sein Standardverhalten zu ändern. Zu den akzeptierten Optionen gehören:
Sie können die anderen Optionen überprüfen, indem Sie den folgenden Befehl ausführen:
$ MAN SCP
Hinweis: Obwohl SCP die beschreibenden Nachrichten der von Ihnen kopierenden Dateien und Verzeichnisse anzeigt, werden Sie beim Überschreiben der Dateien nicht aufgefordert. Stellen Sie daher sicher, dass Sie eindeutige Namen für die von Ihnen kopierten Dateien bereitstellen, um Datenverlust zu vermeiden.
Kopieren Sie die Datei von lokal zum Remote -Host
Sie können eine Datei von Ihrem lokalen Computer in einen Remote -Host kopieren, indem Sie den folgenden Befehl ausführen:
$ scp Source_file.ext user@remote_addr:/remote/dir
Zum Beispiel, um die Datei Hallo zu kopieren.TXT to/home/debian/files Verzeichnis können wir den folgenden Befehl ausführen:
$ scp Hallo.txt [email protected]:/home/debian/fateien
Der Befehl fordert Sie für das Kennwort des angegebenen Remote -Benutzers auf. Wenn Sie Ihren SSH -Schlüssel zum Remote -Host hinzugefügt haben, meldet sich der Befehl automatisch an und überträgt die Zieldateien.
Denken Sie daran, dass der SCP -Befehl den ursprünglichen Dateinamen beibehält, sofern nicht angegeben. Um die Datei unter einem anderen Verzeichnis zu speichern, können Sie diesen folgenden Befehl ausführen:
$ scp Hallo.txt [email protected]:/home/debian/files/hello_new.txt
Dies wird den Dateinamen von Hallo ändern.txt to hello_new.txt auf der Remotemaschine.
Kopieren Sie das Verzeichnis vom lokalen zu Remote -Host
Wenn Sie ein Verzeichnis von Ihrem lokalen Computer in einen Remote -Host kopieren möchten, verwenden Sie die rekursive Option, wie in der folgenden Syntax gezeigt:
$ scp -r src_dir user@remote_host:/path/on/remote/host/
Um beispielsweise alle Dateien im Verzeichnis /var /logs des lokalen Computers zu kopieren, können Sie den folgenden Befehl ausführen:
$ scp -r/var/logs/[email protected]:/home/debian/logs
Die -R -Flags geben dem Befehl SCP an, das Verzeichnis rekursiv zu kopieren. Wenn das Zielverzeichnis auf dem Remote -Host nicht vorhanden ist, erstellt das SCP es automatisch.
Kopieren Sie Dateien vom Host zum Remote -Host
In einigen Fällen müssen Sie möglicherweise Dateien von einem Remote -Host zu einem anderen Remote -Host kopieren. Sie können dies erreichen, indem Sie den folgenden Befehl ausführen:
$ scp user_1@host_1: src_file user_2@host_2: target_path
Der Befehl kopiert die im Parameter SRC_FILE angegebenen Dateien in den im Parameter target_path angegebenen Pfad in den Pfad.
Stellen Sie sicher, dass beide Maschinen online sind und über SSH kommunizieren können.
Abschluss
Dieses Tutorial führt Sie durch die Verwendung des SCP -Befehls, um die Dateien und Verzeichnisse über SSH zu kopieren.