Da die Datenübertragung auf SSH basiert, bietet es die gleiche Sicherheit und verwendet die gleiche Authentifizierung wie SSH. Im Gegensatz zu rcp fordert Sie der scp-Befehl bei Bedarf zur Eingabe eines Passworts zur Authentifizierung auf.
In diesem Artikel tauchen wir tief in die sichere Dateiübertragung unter Linux ein und lernen, wie man den scp-Befehl verwendet. Mit detaillierten Erklärungen und Beispielanwendungsfällen gängiger SCP-Schalter und -Optionen erfahren Sie, wie Sie dieses Dienstprogramm verwenden.
Um den scp-Befehl verwenden zu können, müssen Sie seine grundlegende Syntax kennen, die im folgenden Format vorliegt:
less复制代码 scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
Optionen: Stellt SCP-Optionen wie SSH-Konfiguration, Passwort, Einschränkungen, SSH-Port, rekursive Kopie usw. dar.
[user@]SRC_HOST:]file1: Gibt die Quelldatei an.
[user@]DEST_HOST:]file2: stellt die Zieldatei dar
Wie jeder andere Befehl verfügt auch das scp-Tool über einige Optionen zur Steuerung seines Verhaltens. Die häufigsten sind die folgenden:
Bevor wir scp verwenden, kopieren wir mit cp Dateien von einem Ordner in einen anderen. Wir alle wissen, wie man den cp-Befehl verwendet, um dies zu erreichen:
bash复制代码 cp /home/linuxmi/linuxmi.mp3 /home/linuxmi/audio
Es kopiert die Datei linuxmi.mp3 im Home-Verzeichnis des Benutzers linuxmi in den Home-Ordner desselben Benutzers, das Audioverzeichnis von linuxmi.
In ähnlicher Weise ist ein Beispiel für den scp-Befehl, der verwendet werden kann, wie folgt:
typescript复制代码 scp /home/linuxmi/linuxmi.mp3 linuxmi@linuxmi.com:/home/linuxmi/audio
Verwenden Sie linuxmi als Anmeldenamen, um die Datei linuxmi.mp3 auf den Server linuxmicom in das Remote-Verzeichnis /home/linuxmi/audio hochzuladen. Bitte beachten Sie, dass scp Sie vor Beginn des Uploads zur Eingabe des Remote-Passworts für Linuxmi auffordert. Wenn kein Remote-Verzeichnis angegeben ist, werden die Dateien in das Home-Verzeichnis des Remote-Benutzers kopiert. Wenn Sie für den Zielordner keinen Dateinamen angeben, wird scp die Datei mit dem Originalnamen kopieren. Wenn Sie die Datei unter einem anderen Namen speichern möchten, müssen Sie einen neuen Dateinamen angeben.
Entfernte Dateien an das lokale Ziel übertragen
Um die Datei herunterzuladen, können Sie einen Remote-Standort als Quellort angeben. Zum Beispiel:
scp linuxmi@linuxmi.com:/home/linuxmi/audio/* /home/linuxmi/downloads
Alle Audiodateien im Remote-Verzeichnis /home/linuxmi/audio auf linuxmi.com werden in das lokale Verzeichnis /home/linuxmi/downloads heruntergeladen.
Notieren Sie sich den Dateinamen:
Der Dateiname kann aus Benutzer und Host bestehen, um die Übertragung der Datei zu oder von diesem Host anzuzeigen. Um zu vermeiden, dass scp Dateinamen verarbeitet, die „:“ als Hostspezifizierer enthalten, können lokale Dateinamen entweder absolut oder relativ sein. Der Remote-Dateiname sollte jedoch sowohl Benutzer als auch Host enthalten.
Standard-Portnummer:
Wenn SSH auf dem Remote-Host einen anderen Port überwacht (d. h. einen anderen Port als den Standardport 22), können Sie den Schalter -P verwenden, um diesen Port anzugeben.
Lokales Verzeichnis auf Remote-Ziel übertragen
Kopieren Sie ein Verzeichnis an einen entfernten Speicherort, ähnlich wie beim Kopieren von Dateien. Für rekursive Übertragungen müssen Sie lediglich das Flag -r verwenden.
Um das gesamte Verzeichnis auf das Remote-System zu kopieren, führen Sie den Befehl mit der Option -r aus, zum Beispiel:
scp -r /home/linuxmi/local_folder linuxmi@linuxmi.com:/home/linuxmi/remote_folder
Dateiübertragung zwischen zwei Remote-Systemen
Der folgende Befehl kopiert die Datei /folder/linuxmi.mp3 vom Remote-Host linuxmi.com in das Verzeichnis /folder auf dem Remote-Host www.linuxmi.com.
scp linuxmi@linuxmi.com:/folder/linuxmi.mp3 linuxmi@www.linuxmi.com:/anotherfolder
Nachdem Sie diesen Vorgang gestartet haben, werden Sie aufgefordert, die Passwörter beider Remote-Ziele anzugeben.
Um den Datenverkehr über localhost (d. h. den Computer, auf dem der Befehl ausgeführt wird) weiterzuleiten, verwenden Sie den Schalter -3 wie folgt:
scp -3 linuxmi@linuxmi.com:/folder/linuxmi.mp3 linuxmi@www.linuxmi.com:/anotherfolder
Das obige ist der detaillierte Inhalt vonSo übertragen Sie Dateien sicher per SSH mit dem Befehl scp unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!