Как скопировать папку с удаленного на локальный хост с помощью scp
?
Я использую ssh
для входа на свой сервер.
Затем я хочу скопировать удаленную папку foo
в локальную /home/user/Desktop
.
Как этого добиться?
scp -r [email protected]:/path/to/foo /home/user/Desktop/
Из man scp
(см. интерактивное руководство)
-r Рекурсивное копирование целых каталогов
Чтобы использовать все возможности 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)
Обновление:
Для включения удаленного bash-дополнения вам необходимо иметь bash-shell на обоих <исходном>
и <целевом>
хостах, и правильно работающий bash-дополнитель. Для получения дополнительной информации смотрите связанные вопросы:
[Как включить автозавершение для удаленных путей при использовании scp?] (https://unix.stackexchange.com/questions/33336/how-to-enable-autocompletion-for-remote-paths-when-using-scp)
Завершение вкладки имени файла SCP
Скопировать все из расположение в дистанционного управления (загрузить)
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 .
Справка:
-Р
рекурсивно скопировать все каталоги и файлы/
, получить полную местоположение дуо
УПП
будет заменить все существующие файлыимя_узла
будет имя хоста или IP-адресПримечание: иногда пользовательский порт работать не будет из-за порта не будет разрешено в брандмауэре, поэтому убедитесь, что пользовательский порт в брандмауэре для входящих и исходящих подключений
Что я всегда использую-это:
scp -r username@IP:/path/to/server/source/folder/ .
. (точка) : это означает текущую папку. так копировать с сервера и вставить сюда только.
ИС : может быть IP-адрес как 125.55.41.311 или он может быть хозяином, как ns1.mysite.com
.
Лучше сначала сжать каталог на удаленном сервере:
tar czfP backup.tar.gz /path/to/catalog
Во-вторых, загрузить с удаленного сервера:
scp [email protected]:/path/to/backup.tar.gz .
В конце извлеките файлы:
tar -xzvf backup.tar.gz
И если у вас есть один адский файлы для загрузки из удаленного местоположения, и если вы Don'т заботятся о безопасности, попробуйте изменить УПП по умолчанию шифрование (тройной des) что-то вроде 'рыбы'.
Это позволит резко сократить время копирования файлов.
scp -c blowfish -r [email protected]:/path/to/foo /home/user/Desktop/
Перейдите в раздел файлы на панели инструментов единства
Нажмите Ctrl + L и написать [email protected]
В 192.168.1.103-это узел, который вы хотите подключить.
Вот один пример
Типичный сценарий,
scp -r -P port username@ip:/path-to-folder .
объяснить образец,
УПП -р -п 27000 [email protected]:/tmp/hotel_dump
.
где,
port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory
В случае если вы столкнетесь "не много сбоев проверки подлинности" и, указать точное ssh-ключа вы добавили в свой Северс SSH-сервер:
scp -r -i /path/to/local/key [email protected]:/path/to/folder /your/local/target/dir
Вопрос был, как скопировать папку с удаленного на локальный с команды УПП
.
$ УПП -Р userRemote@remoteIp:/path/remoteDir /путь/localDir
Но вот лучший способ для сделать это с помощью SFTP` - файл SSH протокол передачи (также защищенный протокол передачи файлов, или SFTP) - это сетевой протокол, который обеспечивает доступ файл, передать файл, и управления файлами через любой надежный поток данных.(Википедия).
$ user_remote по SFTP@remote_ip
по SFTP> компакт-диски /путь/к/remoteDir
по SFTP> получайте -Р remoteDir
Извлечения /путь/к/remoteDir в localDir 100% 398 0.4 КБ/с 00:00
Для получения справки о Команды SFTPпомочь только тип
или ?
.
Я не'т знаю, почему но я должен был использовать локальную папку перед директивой исходный сервер . чтобы заставить его работать
scp -r . [email protected]:/usr/share/nginx/www/example.org/