shell - удаленную - передача файлов по ssh windows




Как скопировать папку с удаленного на локальный с помощью scp? (8)

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

Я использую ssh для входа на мой сервер.
Затем я хотел бы скопировать удаленную папку foo в локальный /home/user/Desktop .

Как достичь этого?


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

$ scp -r [email protected]:/path/remoteDir /path/localDir

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

$ 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 или ? ,


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

scp -r -i /path/to/local/key [email protected]:/path/to/folder /your/local/target/dir

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

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

Во-вторых, загрузка с пульта:

scp [email protected]:/path/to/backup.tar.gz .

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

tar -xzvf backup.tar.gz

Перейдите в раздел «Файлы на панели единства»

Нажмите Ctrl + l и напишите здесь[email protected]

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

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


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

scp -r [email protected]:/path/to/server/source/folder/  .

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

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


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

  1. Авторизация открытого ключа
  2. Создание псевдонимов ssh

Тогда, например, если у вас будет этот ~ / .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 на хостах <source> и <target> и правильно работать с завершением bash. Для получения дополнительной информации см. Связанные вопросы:

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


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

scp -r . [email protected]:/usr/share/nginx/www/example.org





scp