Wie kopiere ich einen Ordner von einem Remote-Host auf einen lokalen Host scp
?
Ich ssh
melde mich auf meinem Server an.
Dann möchte ich den Remote-Ordner foo
in den lokalen kopieren /home/user/Desktop
.
Wie erreiche ich das?
shell
command-line
copy
scp
Slasengger
quelle
quelle
Antworten:
Wenn Sie das abschließende '/' am Ende von foo nicht einfügen, verschieben Sie das Verzeichnis selbst (einschließlich des Inhalts) und nicht nur den Inhalt des Verzeichnisses.
Von
man scp
(Siehe Online-Handbuch )quelle
-C
Flag fügt Komprimierung hinzu und das-c
Flag ermöglicht es Ihnen, andere Verschlüsselungstypen für eine bessere Leistung zu übergeben, wiescp -c blowfish a@b:something .
in Dimuthus Antwort zu sehenDesktop/foo
oder wirst duDesktop/allcontentsofFooGohere
scp haben, scheint mir manchmal komisch zu sein, es macht eine Sache dann eine anderescp -r [email protected]:/path/to/foo /home/user/Desktop/
dir sollte am Ende mitDesktop/foo
. Mit werdenscp -r [email protected]:/path/to/foo/. /home/user/Desktop/
Sie mit dem Inhalt vonfoo
inDesktop
und allen Unterverzeichnissen vonfoo
unterDesktop
Um die volle Leistung von scp nutzen zu können , müssen Sie die folgenden Schritte ausführen :
Dann zum Beispiel, wenn Sie diese ~ / .ssh / config haben :
Sie sparen sich die Passworteingabe und vereinfachen die scp- Syntax wie folgt :
Darüber hinaus können Sie die Remote-Pfadvervollständigung verwenden:
Aktualisieren:
Remote - bash-completion Zur Aktivierung benötigen Sie bash-Shell auf beide haben
<source>
und<target>
Hosts und ordnungsgemäß funktioniert bash-completion. Weitere Informationen finden Sie unter verwandten Fragen:Wie aktiviere ich die automatische Vervollständigung für Remote-Pfade bei Verwendung von scp?
Vervollständigung der Registerkarte "SCP-Dateiname"
quelle
So kopieren Sie alles vom lokalen Standort zum Remote-Standort (Upload)
So kopieren Sie alles vom Remote-Standort zum lokalen Standort (Download)
Benutzerdefinierter Port Wo
xxxx
ist die benutzerdefinierte Portnummer ?Kopieren Sie in das aktuelle Verzeichnis von Remote nach Local
Hilfe:
-r
Kopieren Sie rekursiv alle Verzeichnisse und Dateien/
, Holen Sie sich den vollständigen Standort vonpwd
scp
ersetzt alle vorhandenen Dateienhostname
wird Hostname oder IP-Adresse sein-P portnumber
Hinweis: Manchmal funktioniert der benutzerdefinierte Port nicht, da der Port in der Firewall nicht zulässig ist. Stellen Sie daher sicher, dass der benutzerdefinierte Port in der Firewall für eingehende und ausgehende Verbindungen zulässig ist
quelle
pwd
, um Standort zu erhalten und zu verwendenWas ich immer benutze ist:
. (Punkt) : es bedeutet
current folder
. Also vom Server kopieren und nur hier einfügen.IP : Kann eine IP-Adresse wie
125.55.41.311
oder eine Host- Adresse seinns1.mysite.com
.quelle
.
sich auf das aktuelle Verzeichnis bezieht!Es ist besser, zuerst den Katalog auf dem Remote-Server zu komprimieren:
Zweitens von der Fernbedienung herunterladen:
Extrahieren Sie am Ende die Dateien:
quelle
-C
Flag komprimieren , wie zscp -C a@b:bigfile .
.Und wenn Sie eine verdammt große Datei vom Remote-Speicherort herunterladen müssen und die Sicherheit nicht besonders wichtig ist, ändern Sie die SCP-Standardverschlüsselung (Triple-DES) in "Blowfish".
Dadurch wird die Kopierzeit für Dateien drastisch reduziert.
quelle
arcfour
anstelle vonblowfish
, aber es hat Sicherheitslücken.Typisches Szenario,
mit einem Beispiel erklärt,
scp -r -P 27000 [email protected]:/tmp/hotel_dump .
wo,
quelle
Gehen Sie zu Dateien in Ihrer Unity-Symbolleiste
Drücken Sie Strg + l und schreiben Sie [email protected]
Der 192.168.1.103 ist der Host, den Sie verbinden möchten.
Das hier ein Beispiel
quelle
Die Frage war, wie man einen Ordner mit dem
scp
Befehl von remote nach local kopiert .$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir
Dies ist jedoch der bessere Weg
sftp
: SSH File Transfer Protocol (auch Secure File Transfer Protocol oder SFTP) ist ein Netzwerkprotokoll, das Dateizugriff, Dateiübertragung und Dateiverwaltung über jeden zuverlässigen Datenstrom bietet (Wikipedia).$ sftp user_remote@remote_ip
sftp> cd /path/to/remoteDir
sftp> get -r remoteDir
Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00
Für Hilfe zum
sftp
Befehl geben Sie einfachhelp
oder ein?
.quelle
Wenn Sie auf "Zu viele Authentifizierungsfehler" stoßen, geben Sie den genauen SSH-Schlüssel an, den Sie Ihrem Server-Server hinzugefügt haben:
quelle
Ich weiß nicht warum, aber ich musste vor der Quellserver-Direktive den lokalen Ordner verwenden. damit es funktioniert
quelle
root@