Frage Wie scp einen Ordner von Remote zu lokal? [geschlossen]


Ich bin mir nicht sicher, ob es möglich ist scp ein Ordner von remote zu lokal, aber ich habe immer noch keine anderen Optionen. Ich benutze ssh, um mich bei meinem Server anzumelden und von dort möchte ich den Ordner kopieren foo zu home/user/Desktop (meine lokale). Gibt es einen Befehl, damit ich das machen kann?


1926
2017-07-03 05:17


Ursprung


Antworten:


scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

Von man scp

-r Recursively copy entire directories

3694
2017-07-03 05:21



Um die volle Kraft von scp Sie müssen die nächsten Schritte durchlaufen:

  1. Autorisierung des öffentlichen Schlüssels
  2. Erstellen Sie SSH-Aliase

Dann zum Beispiel, wenn Sie das haben ~ / .ssh / Konfig:

Host test
    User testuser
    HostName test-site.com
    Port 22022

Host prod
    User produser
    HostName production-site.com
    Port 22022

Sie werden sich vor der Passworteingabe retten und vereinfachen scp Syntax wie folgt:

scp -r prod:/path/foo /home/user/Desktop   # copy to local
scp -r prod:/path/foo test:/tmp            # copy from remote prod to remote test

Außerdem können Sie die Remote-Pfadvervollständigung verwenden:

scp test:/var/log/  # press tab twice
Display all 151 possibilities? (y or n)

Aktualisieren:

Um die Remote-Bash-Vervollständigung zu aktivieren, müssen Sie Bash-Shell auf beiden haben <source> und <target> Hosts und ordnungsgemäß funktionierende Bash-Vervollständigung. Für weitere Informationen siehe verwandte Fragen:

Wie aktiviert man automatische Vervollständigung für Remote-Pfade bei der Verwendung von scp?
Fertigstellung des SCP-Dateinamens


236
2017-12-04 06:21



Um alles zu kopieren Lokaler Standort zu Remote-Standort (Hochladen)

scp -r /path/from/destination username@hostname:/path/to/destination

Um alles zu kopieren Remote-Standort zu Lokaler Standort (Herunterladen)

scp -r username@hostname:/path/from/destination /path/to/destination

Benutzerdefinierter Port, wo xxxx ist benutzerdefinierter Port Nummer

 scp -r -P xxxx username@hostname:/path/from/destination /path/to/destination

Kopieren Sie das aktuelle Verzeichnis von Remote zu Lokal

scp -r username@hostname:/path/from/file .

Hilfe: 

  1. -r Kopieren Sie rekursiv alle Verzeichnisse und Dateien
  2. Verwenden Sie immer den vollständigen Standort von /, Erhalten Sie die vollständige Position von pwd
  3. scp ersetzt alle vorhandenen Dateien
  4. hostname wird Hostname oder IP-Adresse sein
  5. Wenn ein benutzerdefinierter Port benötigt wird (außer Port 22), verwenden Sie -P portnumber
  6. . (Punkt) - es bedeutet aktuelles Arbeitsverzeichnis, also Download / Kopie vom Server und nur hier einfügen.

Hinweis: Manchmal funktioniert der benutzerdefinierte Port nicht, da der Port in der Firewall nicht zulässig ist. Stellen Sie daher sicher, dass in der Firewall ein benutzerdefinierter Port für eingehende und ausgehende Verbindungen zulässig ist


117
2018-05-23 09:38



Was ich immer benutze ist:

scp -r username@IP:/path/to/server/source/folder/  .

. (Punkt) : es bedeutet current folder. also vom Server kopieren und hier nur einfügen.

IP : kann eine IP Adresse sein wie 125.55.41.311 oder es kann Gastgeber wie sein ns1.mysite.com.


39
2018-06-10 07:41



Besser zuerst den Katalog auf dem Remote-Server komprimieren:

tar czfP backup.tar.gz /path/to/catalog

Zweitens, Download von Remote:

scp user@your.server.example.com:/path/to/backup.tar.gz .

Am Ende extrahieren Sie die Dateien:

tar -xzvf backup.tar.gz

25
2018-05-29 11:12



Und wenn Sie eine verdammt große Anzahl von Dateien vom entfernten Standort herunterladen müssen und wenn Ihnen die Sicherheit nicht so wichtig ist, versuchen Sie, die scp-Standardverschlüsselung (Triple-DES) auf etwas wie "blowfish" zu ändern.

Dies wird die Kopierzeit drastisch reduzieren.

scp -c blowfish -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

20
2018-06-17 06:02



Gehen Sie zu Dateien auf Ihrer Einheits-Symbolleiste

enter image description here

Drücken Sie Strg + l und schreiben Sie here_goes_your_user_name@192.168.10.123

192.168.1.103 ist der Host, den Sie verbinden möchten.

Das hier ein Beispiel

enter image description here


15
2017-11-09 21:05



Typisches Szenario,

scp -r -P port username@ip:/path-to-folder  .

erklärt mit einer Probe,

scp -r -P 27000 abc@10.70.12.12:/tmp/hotel_dump .

woher,

port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory

14
2017-07-06 07:21