Команда 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 [email protected]:/home/bob
Чтобы скопировать каталог, активируйте флаг -r, как показано. Здесь мы копируем каталог bashtop в домашний каталог удаленного узла.
$ scp -r bashtop [email protected]:/home/bob
Копирование файла из удаленной системы в локальную систему
Кроме того, можно скопировать файл с удаленного узла в локальную систему, как показано ниже:
$ scp [option] user@server-IP:/path/to/source/file/path/to/local/directory
В приведенном ниже примере мы копируем файл sales.pdf из удаленной системы в локальную:
$ scp [email protected]:/home/bob/sales.pdf /home/winnie
Точно так же вы можете скопировать каталог с удаленного хоста в локальную систему, используя флаг -r, как показано.
$ scp -r [email protected]:/home/bob/reports_2020 /home/winnie
Для получения дополнительных сведений об использовании команды SCP посетите страницы руководства:
$ man scp
Заключение
Команда Linux SCP — это удобный и безопасный способ передачи файлов между двумя удаленными узлами, не беспокоясь о том, что злоумышленники будут отслеживать ваши данные.