2015-05-31 2 views
4

У меня возникли проблемы с копированием файлов с удаленного сервера с помощью ssh. Используя putty, я вхожу на сервер с помощью ssh. После того, как найти файл, я хотел бы, чтобы скопировать на свой компьютер, я использую команду:Копирование файлов с сервера на локальный компьютер с помощью ssh

УПП [email protected]: /dir/of/file.txt \ Local \ Dir \

Это выглядит например, успешно, но только заканчивается созданием новой папки с именем localdir в удаленном каталоге/dir/of /. Любая помощь очень благодарна вам.

+0

Ваш вопрос непонятен: вы используете 'scp' на своем компьютере _local_ или внутри удаленной оболочки через SSH? –

+0

Внутри удаленной оболочки через SSH, я считаю. – Vincent

ответ

8

Это зависит от того, что такое локальная ОС.

Если локальная ОС Unix-подобная, то попробуйте:

scp [email protected]:/remote/dir/file.txt /local/dir/ 

Если локальная ОС Windows,, то вы должны использовать pscp.exe утилиты. Например, ниже команда загрузит file.txt с удаленного компьютера на D: диск локальной машины.

pscp.exe [email protected]:/remote/dir/file.txt d:\ 

Кажется, что ваша локальная ОС - это Unix, поэтому попробуйте прежнюю.


Для тех, кто не знает, что pscp.exe это и не знаю, где это, вы всегда можете пойти в puttyofficial website, чтобы загрузить его. Затем откройте приглашение CMD, перейдите в каталог pscp.exe, куда вы положили его. Затем выполните команду, указанную выше.

+0

Моя локальная ОС - Windows. Я загрузил pscp.exe с сайта шпатлевки. Я попытался открыть его, и ничего не получилось. Кроме того, я попробовал команду, указанную выше, и был указан: pscp.exe comman не найден. Также попробовал его без .exe и привел к той же ошибке. – Vincent

+0

Откройте приглашение CMD и перейдите в каталог pscp.exe, куда вы его положили. Затем выполните команду, как указано выше. – mainframer

+0

Большое вам спасибо. – Vincent

0

Вам необходимо указать файл в обоих каталогах.

scp [email protected]:/dir/of/file.txt \local\dir\file.txt 
+1

Я не верю, что это правильно. Если целевой целью является каталог, он поместит файл там с тем же именем файла, что и источник. –

+0

@WilliamPrice Я думаю, что это зависит от локальной ОС – 0yeoj

+0

@ 0yeoj Для моего назидания, какая локальная ОС это? Я дважды загружаю Fedora и Win8.1 и подтвердил, что указание только целевого каталога работает как с версией Linux _scp_, так и с исполняемыми файлами _pscp_, предоставленными Putty. –

1

что команда scp должна быть выдана в локальной командной строке, для шпаги команда pscp.

C:\something> pscp [email protected]:/dir/of/file.txt \local\dir\ 
+0

Я скачал pscp.exe из шпатлевки и попытался открыть его, но ничего не получилось. Затем я попробовал команду в приложении putty.exe и получил сообщение об ошибке: команда pscp не найдена. – Vincent

+0

он должен быть установлен на вашем пути, учитывая, что вы, похоже, не знаете об этом, вы можете найти filezilla проще в использовании, чем scp. – Jasen

0

Ваш вопрос немного запутан, но я предполагаю, что вы сначала делаете «ssh», чтобы узнать, какие файлы или, скорее, конкретные каталоги, есть и снова на вашем локальном компьютере, вы пытаются скопировать все файлы в этом каталоге на локальный путь. вы должны просто сделать scp -r.

Так вот в вашем случае, это было бы что-то вроде

local> scp -r [email protected]:/path/to/dir local/path 

Если youare с помощью какого-либо другого исполняемого файла, который обеспечивает «ПКППЫ как функциональность», обратитесь к нему Руководство для рекурсивного копирования файлов.

0

Make sure the scp command is available on both sides - both on the client and on the server.

ОБА сервера и клиента, в противном случае вы будете сталкиваться с такого рода (странное) сообщение об ошибке на клиентском компьютере: scp: command not found или что-то подобное, хотя если у вас есть все настроено локально.

Смежные вопросы