Я не уверен, возможна ли scp
папка с удаленного на локальный, но все же у меня нет других параметров. Я использую ssh для входа на мой сервер, и оттуда я хотел бы скопировать папку foo
в home/user/Desktop
(мой локальный). Есть ли какая-нибудь команда, чтобы я мог это сделать?
Как скопировать папку с удаленного на локальный?
Ответ 1
scp -r [email protected]:/path/to/foo /home/user/Desktop/
От man scp
-r Recursively copy entire directories
Ответ 2
Чтобы использовать полную мощность 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
Ответ 3
Скопировать все из Локальное местоположение в Удаленное расположение (Загрузить)
scp -r /path/from/destination [email protected]:/path/to/destination
Скопировать все из Удаленное расположение в Локальное местоположение (Загрузить)
scp -r [email protected]:/path/from/destination /path/to/destination
Пользовательский порт, где xxxx
- пользовательский порт номер
scp -r -P xxxx [email protected]:/path/from/destination /path/to/destination
Скопировать текущий каталог с Удаленный на локальный
scp -r [email protected]:/path/from/file .
Справка:
-
-r
Рекурсивно скопировать все каталоги и файлы - Всегда используйте полное местоположение из
/
, получите полное местоположениеpwd
-
scp
заменит все существующие файлы -
hostname
будет именем хоста или IP-адресом - если необходим настраиваемый порт (кроме порта 22), используйте
-P portnumber
- . (точка) - это текущая рабочая директория, поэтому загрузите/скопируйте с сервера и вставьте здесь только.
Примечание. Иногда пользовательский порт не работает из-за того, что порт не разрешен в брандмауэре, поэтому убедитесь, что в брандмауэре разрешен настраиваемый порт для входящего и исходящего соединения.
Ответ 4
То, что я всегда использую:
scp -r [email protected]:/path/to/server/source/folder/ .
. (точка): это означает current folder
. поэтому скопируйте с сервера и вставьте здесь только.
IP: может быть IP-адрес, например 125.55.41.311
, или он может быть хостом, как ns1.mysite.com
.
Ответ 5
Лучше сначала сжать каталог на удаленном сервере:
tar czfP backup.tar.gz /path/to/catalog
Во-вторых, загрузка с удаленного устройства:
scp [email protected]:/path/to/backup.tar.gz .
В конце извлеките файлы:
tar -xzvf backup.tar.gz
Ответ 6
И если у вас есть один адский файл для загрузки из удаленного места, и если вы не очень заботитесь о безопасности, попробуйте изменить стандартное шифрование scp (Triple-DES) на что-то вроде "blowfish".
Это значительно сократит время копирования файлов.
scp -c blowfish -r [email protected]:/path/to/foo /home/user/Desktop/
Ответ 7
Перейдите в раздел "Файлы на панели инструментов единства"
Нажмите Ctrl + l и напишите здесь[email protected]
192.168.1.103 - это хост, который вы хотите подключить.
Здесь один пример
Ответ 8
Типичный сценарий,
scp -r -P port [email protected]:/path-to-folder .
объясняется образцом,
scp -r -P 27000 [email protected]:/tmp/hotel_dump .
где
port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory
Ответ 9
Если вы столкнулись с "Слишком много ошибок аутентификации", укажите точный SSH-ключ, который вы добавили на ваш ssh-сервер severs:
scp -r -i /path/to/local/key [email protected]:/path/to/folder /your/local/target/dir
Ответ 10
Вопрос заключался в том, как скопировать папку с удаленного на локальный с помощью команды scp
.
$ scp -r [email protected]:/path/remoteDir /path/localDir
Но вот лучший способ сделать это с помощью sftp
- SSH File Transfer Protocol (также протокол безопасного обмена файлами или SFTP) - это сетевой протокол, который обеспечивает доступ к файлам, передачу файлов и управление файлами над любыми надежными данными поток. (википедия).
$ sftp [email protected]_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
или ?
.
Ответ 11
Я не знаю, почему, но мне пришлось использовать локальную папку перед директивой исходного сервера. чтобы заставить его работать
scp -r . [email protected]:/usr/share/nginx/www/example.org