Как вытащить файл с сервера с помощью scp?

Я на машине A и хочу вытащить файл из машины B.

A$ scp <myuserid>@hostB:<path of file in B> . 

он говорит, что:

 scp: <path of file in B>: No such file or directory 

Но на машине B этот файл существует в этом пути.

Что происходит не так?

4 Solutions collect form web for “Как вытащить файл с сервера с помощью scp?”

Вы не указали какой-либо файл: вам нужно добавить файл (с помощью пути) после двоеточия:

 A$ scp <myuserid>@hostB:/absolutepath/file . 

или

 A$ scp <myuserid>@hostB:relativepath/file . 

для пути относительно вашего домашнего каталога.

Если вы не укажете другого пользователя (т. Е. Пользователь на A и B одинаковый), вам не понадобится @

 A$ scp hostB:/path/file . 

использовать правильный путь scp

 scp ssh://user@hostname/tmp/foo.txt . 

Вы можете указать путь к файлу, который относится к вашему домашнему каталогу, или абсолютный путь к файлу. Например, если foo.txt находится в каталоге под названием docs под вашим домашним каталогом, а bar.txt находится в /var/tmp , вы можете сделать

 scp username@host.example.com:docs/foo.txt . scp username@host.example.com:/var/tmp/bar.txt . 

Обратите внимание, что если имя файла содержит символы, которые являются особыми для удаленной оболочки (обычно это пробел или !"#$&'*;<>?[\]^`{|}~ ), Вам нужно уйти от них для удаленной оболочки в дополнение к экранированию их для локальной оболочки. Например, если файл называется foo bar.txt и находится в вашем домашнем каталоге:

 scp username@host.example.com:'foo\ bar.txt' . 

Если у вас возникли трудности с файлами, содержащими знаки пунктуации, попробуйте использовать sftp вместо scp для их переноса. Или используйте еще более удобный метод, если вы можете использовать FUSE : смонтировать файловую систему удаленного компьютера с помощью sshfs , а затем использовать обычные команды управления файлами.

 mkdir host.example.com sshfs username@host.example.com:/ host.example.com cp host.example.com/path/to/file . 
 $ scp username@remoteip:remote_location_file /location/where/you/save 

Это работает только при копировании файла. если вы хотите скопировать использование каталога

 $ scp -r username@remoteip:remote_location_directory /location/where/you/save 

Вариант, который вы можете использовать по своему требованию

-P порт
Указывает порт для подключения к удаленному хосту. Обратите внимание, что этот параметр записывается с капиталом «P», потому что -p уже зарезервирован для сохранения времени и режимов файла в rcp.

-п
Сохраняет время модификации, время доступа и режимы из исходного файла.


Рекурсивно скопировать целые каталоги.

-v

Подробный режим. Заставляет scp и ssh печатать отладочные сообщения об их прогрессе. Это полезно при отладке проблем подключения, проверки подлинности и конфигурации.

  • scp force перезаписывает файлы только для чтения
  • Удаленный SCP для локального сбоя
  • Как скопировать файл с помощью scp со специальными символами?
  • Как scp от сервера к серверу с различными открытыми ключами?
  • scp не передает файлы правильно
  • Как просканировать два промежуточных сервера на сервер третьего хоста
  • Сделать scp игнорировать файлы, заблокированные другими процессами
  • Scp с одного сервера на другой?
  • Как загрузить несколько файлов на сервер и сохранить их структуру каталогов с помощью scp?
  • Нужно ли проверять повреждение файла после выполнения scp?
  • Может ли scp создать каталог, если он не существует?
  • Приведите пример использования функции scp -S
  • Linux и Unix - лучшая ОС в мире.