Поиск по сайту:

Команда SCP


Команда SCP, аббревиатура от Secure Copy, представляет собой команду, используемую для безопасного копирования файлов в удаленную систему и из нее по протоколу SSH. Использование SSH означает, что он использует тот же уровень шифрования данных, что и SSH, и поэтому считается безопасным способом передачи файлов между двумя удаленными хостами. В этом руководстве основное внимание будет уделено команде SCP и выделено несколько примеров ее использования.

Основной синтаксис

Основной синтаксис команды SCP представлен ниже:

$ scp [option] /path/to/source/file
user@server-IP:/path/to/destination/directory

Где :

/path/to/source/file — это исходный файл, который вы собираетесь скопировать на удаленный хост.

user@server-IP: — это имя пользователя и IP-адрес удаленной системы. Обратите внимание на двоеточие после IP-адреса. 

/path/to/destination/directory: — это каталог назначения в удаленной системе, в который будет скопирован файл.

Команда SCP также имеет следующие параметры команды

-C — сжимает файл или каталог в процессе копирования.

-P – используйте этот параметр, чтобы указать порт SSH, если для порта SSH по умолчанию не установлено значение 22.

-r – этот параметр рекурсивно копирует каталог вместе с его содержимым.

-r – сохраняет время доступа и изменения копируемого файла.

Скопируйте файл на удаленный сервер Linux

Чтобы скопировать файл без параметров, просто используйте показанный синтаксис. В приведенном ниже примере я копирую zip-файл nextcloud-21.0.1.zip в домашний каталог удаленного узла /home/bob. IP-адрес хоста — 192.168.2.103, а bob — это пользователь для входа.

$ scp nextcloud-21.0.1.zip  bob@192.168.2.103:/home/bob

Чтобы скопировать каталог, вызовите флаг -r, как показано ниже. Здесь мы копируем каталог bashtop в домашний каталог удаленного узла.

$ scp -r bashtop  bob@192.168.2.103:/home/bob

Копировать файл из удаленной системы в локальную систему

Кроме того, можно скопировать файл с удаленного узла в локальную систему, как показано ниже:

$ scp [option] user@server-IP:/path/to/source/file/path/to/local/directory

В приведенном ниже примере мы копируем файл sales.pdf из удаленной системы в локальную:

$ scp bob@192.168.2.103:/home/bob/sales.pdf  /home/winnie

Точно так же вы можете скопировать каталог с удаленного хоста в локальную систему, используя флаг -r, как показано ниже.

$ scp -r bob@192.168.2.103:/home/bob/reports_2020  /home/winnie

Дополнительные сведения об использовании команды SCP см. на справочных страницах:

$ man scp

Заключение

Команда Linux SCP — это удобный и безопасный способ передачи файлов между двумя удаленными узлами, не беспокоясь о том, что злоумышленники могут отследить ваши данные.

Статьи по данной тематике: