Как мне SCP с удаленного компьютера на локальный компьютер?

5213
JumpJump

Я знаю, что здесь были заданы некоторые похожие вопросы, и я прочитал их ... однако я все еще не могу скопировать файл с удаленного компьютера на локальный компьютер ... Я получаю сообщение об ошибке типа "Нет такого файла или каталог "

Вот что я делаю. Я открываю терминал на MacOS, захожу на удаленный компьютер, cdв нужную папку. Теперь в этой папке у меня есть файл .txt, например «error.txt», и я хочу скопировать этот файл на свой локальный рабочий стол.

Я получаю каталог для локального рабочего стола, просто перетащив папку рабочего стола в терминал, и я получил путь /Users/myname/Desktop

Затем я попробовал следующие команды (хотя в папке error.txt находится внутри удаленного компьютера):

scp -r error.txt /Users/myname/Desktop 

или некоторые варианты

scp -r error.txt :/Users/myname/Desktop scp -r error.txt ~/Users/myname/Desktop scp -r error.txt Users/myname/Desktop 

но все они продолжают давать мне ошибку, как

cannot create regular file `/Users/myname/Desktop': No such file or directory 

Может быть, моя проблема в том, как правильно написать мой локальный путь? Но я могу подключиться к своему локальному рабочему столу, используя путь /Users/muname/Desktopвнутри моей локальной машины ...

Любая помогает? Спасибо!

2

2 ответа на вопрос

3
Tonny

Вы делаете это неправильно:
в Терминале НЕ входите на удаленный компьютер.
Просто беги:

scp user@remote:<path>/error.txt /Users/myname/Desktop 

Другими словами: Запустите SCP локально на вашем Mac и попросите его извлечь файл с удаленного компьютера. Когда вы уже вошли в систему на удаленном компьютере, вам нужно перейти с локального компьютера (который в данном случае является удаленным компьютером) на удаленный компьютер (в данном случае это ваш Mac).

это работает! Спасибо. Но можете ли вы объяснить мне, почему мне нужно запускать SCP локально? Я спрашиваю об этом, потому что, когда я копирую свой файл с локального компьютера на удаленный компьютер. Я работаю на своей локальной машине и использую SCP для отправки файла. Поэтому я думаю, что когда я пытаюсь скопировать файл, я должен подойти к удаленной машине и использовать SCP для отправки файла вниз ... JumpJump 7 лет назад 0
Вам не нужно запускать его локально, это просто проще. По сути, вы запускаете его там, где находится ваша оболочка, и первая оболочка, которую вы видите, находится в вашей локальной системе. Christian 7 лет назад 0
@JumpJump SCP может копировать между локальным <-> локальным, локальным <-> удаленным, удаленным <-> локальным и удаленным <-> другим удаленным. Просто нужно правильно указать источник и пункт назначения. Но в любом случае для удаленного доступа необходимо указать полный путь, включая учетные данные для входа в удаленную систему. Нет необходимости сначала получать оболочку на пульте, а затем копировать ее обратно. Это просто дополнительные хлопоты. Tonny 7 лет назад 1
2
djsmiley2k

Вам нужно указать путь к удаленному компьютеру - вы должны запустить его на своем локальном компьютере, то есть на том, на котором вы хотите сохранить файл TO .

scp remoteuser@remote.machine.com:/path/to/file/on/server /path/to/save/file/locally 
В самом деле: И сделать это на MAC. Не на удаленной машине. Tonny 7 лет назад 1
О, да, я, вероятно, должен сказать это: D Спасибо @ Тонни djsmiley2k 7 лет назад 0
Спасибо! Я могу принять только один ответ, поэтому я голосую за вас, чтобы сказать спасибо. JumpJump 7 лет назад 1