Как скопировать папку с удаленного на локальный?

Я не уверен, возможна ли scp папка с удаленного на локальный, но все же у меня нет других параметров. Я использую ssh для входа на мой сервер, и оттуда я хотел бы скопировать папку foo в home/user/Desktop (мой локальный). Есть ли какая-нибудь команда, чтобы я мог это сделать?

1592
03 июля '12 в 8:17
источник поделиться
11 ответов
scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

От man scp

-r Recursively copy entire directories
3133
03 июля '12 в 8:21
источник

Чтобы использовать полную мощность scp, вам необходимо выполнить следующие шаги:

Затем, например, если у вас будет этот ~/.ssh/config:

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

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

вы избавитесь от ввода пароля и упростите синтаксис scp следующим образом:

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

Кроме того, вы сможете использовать дистанционное завершение пути:

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

Update:

Для включения удаленного bash -комплекса вам необходимо иметь bash -схему на хостах <source> и <target> и правильно работать bash -completion. Для получения дополнительной информации см. Связанные вопросы:

Как включить автозаполнение удаленных путей при использовании scp?
Заполнение вкладки имени файла SCP

203
04 дек. '13 в 9:21
источник

Скопировать все из Локальное местоположение в Удаленное расположение (Загрузить)

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

Скопировать все из Удаленное расположение в Локальное местоположение (Загрузить)

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

Пользовательский порт, где xxxx - пользовательский порт номер

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

Скопировать текущий каталог с Удаленный на локальный

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

Справка:

  • -r Рекурсивно скопировать все каталоги и файлы
  • Всегда используйте полное местоположение из /, получите полное местоположение pwd
  • scp заменит все существующие файлы
  • hostname будет именем хоста или IP-адресом
  • если необходим настраиваемый порт (кроме порта 22), используйте -P portnumber
  • . (точка) - это текущая рабочая директория, поэтому загрузите/скопируйте с сервера и вставьте здесь только.

Примечание. Иногда пользовательский порт не работает из-за того, что порт не разрешен в брандмауэре, поэтому убедитесь, что в брандмауэре разрешен настраиваемый порт для входящего и исходящего соединения.

67
23 мая '16 в 12:38
источник

То, что я всегда использую:

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

. (точка): это означает current folder. поэтому скопируйте с сервера и вставьте здесь только.

IP: может быть IP-адрес, например 125.55.41.311, или он может быть хостом, как ns1.mysite.com.

36
10 июня '14 в 10:41
источник

Лучше сначала сжать каталог на удаленном сервере:

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

Во-вторых, загрузка с удаленного устройства:

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

В конце извлеките файлы:

tar -xzvf backup.tar.gz
22
29 мая '14 в 14:12
источник

И если у вас есть один адский файл для загрузки из удаленного места, и если вы не очень заботитесь о безопасности, попробуйте изменить стандартное шифрование scp (Triple-DES) на что-то вроде "blowfish".

Это значительно сократит время копирования файлов.

scp -c blowfish -r user@your.server.example.com:/path/to/foo /home/user/Desktop/
17
17 июня '14 в 9:02
источник

Перейдите в раздел "Файлы на панели инструментов единства"

введите описание изображения здесь

Нажмите Ctrl + l и напишите здесь_goes_your_user_name@192.168.10.123

192.168.1.103 - это хост, который вы хотите подключить.

Здесь один пример

введите описание изображения здесь

13
10 нояб. '15 в 0:05
источник

Типичный сценарий,

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

объясняется образцом,

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

где

port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory
9
06 июля '15 в 10:21
источник

Если вы столкнулись с "Слишком много ошибок аутентификации", укажите точный SSH-ключ, который вы добавили на ваш ssh-сервер severs:

scp -r -i /path/to/local/key user@remote.tld:/path/to/folder /your/local/target/dir
7
27 сент. '16 в 0:54
источник

Вопрос заключался в том, как скопировать папку с удаленного на локальный с помощью команды scp.

$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir

Но вот лучший способ сделать это с помощью sftp - SSH File Transfer Protocol (также протокол безопасного обмена файлами или SFTP) - это сетевой протокол, который обеспечивает доступ к файлам, передачу файлов и управление файлами над любыми надежными данными поток. (википедия).

$ 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

Для справки о команде sftp просто введите help или ?.

4
15 авг. '16 в 8:47
источник

Я не знаю, почему, но мне пришлось использовать локальную папку перед директивой исходного сервера. чтобы заставить его работать

scp -r . root@888.888.888.888:/usr/share/nginx/www/example.org
2
29 апр. '16 в 22:44
источник

Посмотрите другие вопросы по меткам или Задайте вопрос