Как загрузить локальный файл на сервер через терминал Linux


47

Я пытаюсь загрузить локальные файлы на сервер, используя Putty или SSH, но не получаю загрузки там.

Есть ли прямой способ загрузки файла с локального сервера на терминал Linux без использования FTP и т. Д.?


SFTP - это то, что вы ищете.

Я хочу перенести мой локальный файл на сервер с помощью Linux Terminal. Предположим, что мы использовали для доступа к серверу замазку или ssh, но не смогли передать туда файл через тот же терминал.

Ответы:


64

Конечно. Используйте scp(безопасное копирование) вот так:

scp [source file] [username]@[destination server]:.

Конечно, заменить скобки [source file], [username]и [destination server]в соответствии с вашими локальными настройками. Поэтому, если файл был cool_stuff.txtи ваше имя пользователя на удаленном сервере есть, sanjeevа сервер назначения есть example.com, команда будет такой:

scp cool_stuff.txt sanjeev@example.com:.

И источник также может быть удаленным, так что вы можете сделать это, чтобы сделать противоположный пример выше:

scp sanjeev@example.com:cool_stuff.txt .

Эта команда скопирует удаленный файл cool_stuff.txtв любой локальный каталог, в котором вы находитесь. И если вы делаете это с несколькими файлами, просто используйте подстановочный знак ( *), как для обычной cpкоманды.

Кроме того, .просто указывает непосредственный путь к каталогу; например, тот, в котором вы находитесь прямо в момент запуска команды, или непосредственный путь, который имеет удаленный пользователь на целевом сервере. Но вы также можете указать путь, как /this/path/right/hereв примере с локального на удаленный:

scp cool_stuff.txt sanjeev@example.com:/this/path/right/here

Или пример с удаленного на локальный прямо здесь:

scp sanjeev@example.com:cool_stuff.txt /this/path/right/here

Теперь, если удаленный сервер не разрешает SSH и только SFTP, тогда SFTP - путь. Но scpочень полезно, когда вы хотите просто выбросить файл и не выполнять весь процесс SFTP вручную из командной строки.


13

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

scp -i /path/to/.ssh/id_rsa path/to/file/myFiles.gz myServer.com:/folder/on/server

-i identity_file
Выбирает файл, из которого читается идентификатор (закрытый ключ) для аутентификации с открытым ключом.
Эта опция напрямую передается в ssh (1).


13

Чтобы добавить ответ Джейка , вы можете указать местоположение, а не просто .скопировать его, добавив путь в конце URL-адреса в виде:

scp /path/to/file username@servername/ip:/destination/folder/

1
Между прочим, пробел между удаленным хостом и путем является ошибкой, поэтому вы должны написать это без пробела! (редактирование этого ответа сейчас невозможно)
Sliq
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.