Как мне SCP с удаленного компьютера на локальный компьютер, когда я нахожусь вне моей домашней сети?

57

Хотя я понимаю, как копировать файлы на сервер и из него в моей домашней сети, как я могу скопировать файл с моего сервера на локальный компьютер, когда я нахожусь снаружи, скажем, в Starbucks?

Несмотря на то, что в этом сценарии я могу выполнять scp со своего локального компьютера на мой сервер, я не понял, как получить файл из дома, используя командную строку. Какие-либо предложения?

user98496
источник

Ответы:

86

Способ, которым задают вопрос, довольно запутанный, но если вы можете скопировать данные с локального компьютера на сервер, для обратного пути просто измените порядок командной строки.

его scp [от] [до]

scp user @ homeip: / путь / к / файлу / локальный / путь /
Sirex
источник
Спасибо, я попробую и подтвердлю, сработало ли это для меня.
user98496 20.09.11
1
Я думаю, что вопрос больше в настройке dyndns и переадресации портов ... он просто не знал, что спросить.
RobotHumans
1
Правда я наверное не знаю что спросить. Я еще учусь. Если бы вы могли предложить дальнейшие объяснения о том, какие порты мне нужно перенаправлять (и любую информацию, которая мне понадобится в отношении dyndns) для достижения моей цели, я был бы признателен :-)
user98496
Предложение в первом ответе не сработало. Обычно, когда я печатаю: «scp -r somedir me@123.45.6.7: / home / me / Desktop», это работает нормально. Однако, если я попробую это через общедоступное WIFI-соединение, скажем, Starbucks (а не дома), это не сработает. Что я делаю неправильно?
user98496 20.09.11
6
РЕШЕНО: Команда, которая работает для меня: scp remoteusername @ host: fileiwanttocopy / my / local / comp
user98496
37

Скопируйте файл "foobar.txt" с удаленного хоста на локальный хост:

$ scp your_username@remotehost.edu:foobar.txt /some/local/directory

Скопируйте файл "foobar.txt" с локального хоста на удаленный хост:

$ scp foobar.txt your_username@remotehost.edu:/some/remote/directory

Скопируйте каталог «foo» с локального хоста в каталог «bar» удаленного хоста:

$ scp -r foo your_username@remotehost.edu:/some/remote/directory/bar

Скопируйте файл "foobar.txt" с удаленного хоста "rh1.edu" на удаленный хост "rh2.edu":

$ scp your_username@rh1.edu:/some/remote/directory/foobar.txt your_username@rh2.edu:/some/remote/directory/

Копирование файлов "foo.txt" и "bar.txt" с локального хоста в домашний каталог на удаленном хосте:

$ scp foo.txt bar.txt your_username@remotehost.edu:~

Скопируйте файл "foobar.txt" с локального хоста на удаленный хост, используя порт 2264:

$ scp -P 2264 foobar.txt your_username@remotehost.edu:/some/remote/directory

Скопируйте несколько файлов с удаленного хоста в текущий каталог на локальном хосте:

$ scp your_username@remotehost.edu:/some/remote/directory/\{a,b,c\} .

$ scp your_username@remotehost.edu:~/\{foo.txt,bar.txt\} .

Для получения дополнительной информации: Secure Copy

azeemigi
источник
И все это требует от вас sshdбега - все это знают, а ... или нет.
Ханну
0

Если вы хотите обеспечить безопасное копирование в удаленное местоположение, такое как Dropbox или GoogleDrive, то создайте учетную запись на https://couchdrop.io, затем свяжите вашего провайдера хранилища.

Оттуда просто

scp <filename> couchdrop-username@couchdrop.io:/Dropbox и т. д., если вы хотите извлечь файл из облака, просто поменяйте местами два оператора;

scp couchdrop-usernmae@couchdrop.io:/Dropbox/filename ~/ - это перетянет файл в выбранный вами каталог

Джейден
источник