2012-01-04 14:00:56 +0000 2012-01-04 14:00:56 +0000
71
71

Herunterladen einer Datei mit dem Befehl scp

Ich habe einen Centos-Server, sagen wir mit der IP: 1.2.3.4. Ich möchte eine Datei von 1.2.3.4 unter dem Pfad /root/pc/filename.rar auf meinen localhost-Host (aktueller PC) herunterladen. Welchen Befehl brauche ich, um diese Datei herunterzuladen? Ich versuche es so, aber es funktioniert nicht

scp root@1.2.3.4:/root/pcfilename.rar

Ich möchte die Datei in das aktuelle Verzeichnis meines Systems herunterladen.

答案 (3)

112
112
112
2012-01-04 14:03:33 +0000

Fügen Sie einfach hinzu, wohin es kopiert werden soll (z. B.: ./):

scp root@1.2.3.4:/root/pcfilename.rar ./
15
15
15
2012-01-04 14:05:24 +0000

Stellen Sie zunächst sicher, dass der Root-Benutzer wirklich für den Zugriff auf die Datei benötigt wird. Wenn die Datei von einem normalen Benutzer abgerufen werden kann, wäre das vorzuziehen, um die Sicherheitsrisiken zu begrenzen.

Wenn root wirklich benötigt wird, stellen Sie sicher, dass root sich tatsächlich per ssh anmelden darf, indem Sie Ihre /etc/ssh/sshd_config-Datei überprüfen und sehen, ob die Option PermitRootLogin auf yes gesetzt ist.

Schließlich sollte Ihr obiger Befehl funktionieren, wenn Sie ein . (das auf Ihr aktuelles Verzeichnis zeigt) dahinter einfügen, etwa so:

scp root@1.2.3.4:/root/pcfilename.rar .

Oder Sie können auch immer einen vollständigen Pfad verwenden:

scp root@1.2.3.4:/root/pcfilename.rar /home/user/pcfilename.rar
-2
-2
-2
2020-01-09 20:42:29 +0000

Ich verwende

rsync -avz example@x.x.x.x:/home/example/* .

Dieses Beispiel liefert die Dateien innerhalb des Ordners (Schalter -a), gibt den Vorgang aus (Schalter -v, verbose) und verwendet eine Komprimierung während der Übertragung (Schalter -z). Der Punkt am Anfang sagt rsync, dass es die Dateien im aktuellen Ordner ausliefern soll. Andernfalls könnten Sie den Punkt (.) durch einen Ordner ersetzen, etwa /home/foo/bar