Как скопировать папку с удаленного на локальный хост с помощью scp
?
Я использую, ssh
чтобы войти в свой сервер.
Затем я хотел бы скопировать удаленную папку foo
в локальную /home/user/Desktop
.
Как мне этого добиться?
shell
command-line
copy
scp
Slasengger
источник
источник
Ответы:
Если вы не включите завершающий символ '/' в конце foo, вы будете перемещать сам каталог (включая содержимое), а не только содержимое каталога.
С
man scp
(см. Онлайн-руководство )источник
-C
флаг добавляет сжатие, а-c
флаг позволяет передавать другие типы шифров для повышения производительности,scp -c blowfish a@b:something .
как показано в ответе dimuthuDesktop/foo
или у вас будетDesktop/allcontentsofFooGohere
scp, кажется, иногда ведет себя странно, он делает одно, а потом другоеscp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/
вами должно закончитьсяDesktop/foo
. Сscp -r user@your.server.example.com:/path/to/foo/. /home/user/Desktop/
вами в конечном итоге с содержимымfoo
вDesktop
и все подкаталогиfoo
разбросаны подDesktop
Чтобы использовать все возможности scp, вам необходимо пройти следующие шаги:
Затем, например, если у вас есть ~ / .ssh / config :
вы избавите себя от ввода пароля и упростите синтаксис scp следующим образом:
Более того, вы сможете использовать удаленное завершение пути:
Обновить:
Для включения удаленного Баш-завершения вы должны иметь Баш-оболочки на обоих
<source>
и<target>
хостов, и исправную Баш-завершение. Для получения дополнительной информации см. Связанные вопросы:Как включить автозаполнение для удаленных путей при использовании scp?
Завершение вкладки имени файла SCP
источник
Чтобы скопировать все из локального местоположения в удаленное местоположение (загрузить)
Чтобы скопировать все из удаленного расположения в локальное расположение (скачать)
Пользовательский порт, где
xxxx
находится пользовательский номер портаКопировать текущий каталог из удаленного в локальный
Помогите:
-r
Рекурсивно копировать все каталоги и файлы/
, Получить полное местоположение поpwd
scp
заменит все существующие файлыhostname
будет имя хоста или IP-адрес-P portnumber
Примечание. Иногда пользовательский порт не будет работать из-за того, что порт не разрешен в брандмауэре, поэтому убедитесь, что пользовательский порт разрешен в брандмауэре для входящих и исходящих соединений.
источник
pwd
чтобы получить местоположение и использовать то же самоеТо, что я всегда использую, это:
, (точка) : это значит
current folder
. так что скопируйте с сервера и вставьте только здесь.IP : может быть как IP-адрес, так
125.55.41.311
и как хостns1.mysite.com
.источник
.
относится к текущему каталогу!Лучше сначала сжать каталог на удаленном сервере:
Во-вторых, скачать с пульта:
В конце распакуйте файлы:
источник
-C
флагом, какscp -C a@b:bigfile .
.И если у вас есть чертовски файлы для загрузки из удаленного местоположения, и если вы не очень заботитесь о безопасности, попробуйте изменить шифрование по умолчанию scp (Triple-DES) на что-то вроде «blowfish».
Это значительно сократит время копирования файлов.
источник
arcfour
в сменеblowfish
, но у него есть недостатки безопасности.Типичный сценарий,
объяснил с помощью образца,
scp -r -P 27000 abc@10.70.12.12:/tmp/hotel_dump .
где,
источник
Перейти к файлам на панели инструментов единства
Нажмите Ctrl + l и напишите здесь_goes_your_user_name@192.168.10.123
192.168.1.103 - это хост, к которому вы хотите подключиться.
Вот один пример
источник
Вопрос был в том, как скопировать папку из удаленной в локальную с помощью
scp
команды.$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir
Но вот лучший способ сделать это
sftp
- SSH File Transfer Protocol (также Secure 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
или?
.источник
Если вы столкнулись с «Слишком много ошибок аутентификации» , укажите точный ключ SSH, который вы добавили на сервер svers:
источник
Я не знаю почему, но мне пришлось использовать локальную папку перед директивой исходного сервера. заставить это работать
источник
root@