SCP рекурсивно
Безопасное копирование или SCP — это утилита командной строки, которая позволяет пользователям безопасно передавать файлы и каталоги с одного компьютера на другой по протоколу SSH.
SCP удобен, поскольку он прост в использовании. Некоторые особенности использования SCP для передачи файлов через удаленные хосты включают в себя:
Передача файлов и каталогов осуществляется через SSH, что повышает безопасность.
Он поддерживает двунаправленное копирование. т. е. может передавать файлы и каталоги на удаленный хост и с него.
Он является частью пакета OpenSSH и поэтому не требует установки отдельного пакета.
В этом уроке мы рассмотрим, как рекурсивно копировать файлы и каталоги с помощью SCP. Использование SCP ускорит передачу файлов и каталогов.
SCP базовый
Прежде чем мы проиллюстрируем, как рекурсивно копировать файлы и каталоги, давайте рассмотрим базовые принципы SCP. Смело переходите к нужному разделу.
Общий синтаксис команды SCP:
Начнем с вызова команды SCP.
Затем мы указываем параметры, которые позволяют нам изменить основное поведение команды. Поддерживаемые параметры включают настраиваемый порт SSH, рекурсивное копирование, файл идентификации и т. д.
Далее мы устанавливаем имя исходного файла.
Наконец, мы устанавливаем имя файла назначения.
ПРИМЕЧАНИЕ. Обязательно задайте имя пользователя и хост для удаленных файлов.
Пример 1. Копирование удаленного файла в локальный
Ниже приведены примеры того, как вы можете копировать файлы на удаленные машины и с них с помощью команды SCP:
Прежде чем мы начнем:
-
Убедитесь, что у вас есть SSH-доступ к удаленному хосту (используйте ключ SSH или пароль).
Убедитесь, что у вас есть разрешение на чтение файла и каталогов, необходимых для копирования и записи в целевой системе.
Чтобы скопировать файл или каталог с удаленного компьютера на локальный, нам нужно указать удаленный компьютер в качестве источника и локальный компьютер в качестве системы назначения.
Например, у меня есть резервная копия файла .zst (узнайте, как использовать zst) на удаленном сервере CentOS, и мне нужно загрузить ее на локальную машину с Fedora. В этом случае я могу сделать:
Как только я выполню указанную выше команду, SCP запросит у меня пароль SSH для доступа к серверу CentOS и загрузит файл backup.zst в мою локальную папку загрузок.
Пример 2. Копирование локального файла на удаленный хост
Точно так же я могу передать локальный файл на удаленный хост с помощью SCP.
Например, чтобы передать файл с именем backup.zip с моей машины Fedora на мой сервер CentOS, я могу сделать следующее:
В этом случае мы копируем файл backup.zip из папки «Мои документы» в папку «Документы» на моем компьютере с CentOS.
Хорошо явно указать удаленный каталог, в который вы будете передавать файл... Если не указано, SCP сохраняет файлы в домашнем каталоге удаленного пользователя.
Пример 3 — SCP на нестандартном порту
Если вы используете SSH на порту, отличном от порта по умолчанию (22), вы можете указать порт, используя флаг -P.
Чтобы узнать, как найти порт, на котором работает SSH, перейдите по ссылке ниже:
https://linux-console.net/find-running-ssh-port/
Предположим, SSH работает на порту 3090, я могу использовать команду:
При этом файл копируется на удаленный хост, но с использованием SSH-порта, отличного от используемого по умолчанию.
Как рекурсивно копировать файлы и каталоги
Если вы хотите рекурсивно копировать файлы и каталоги с или на удаленный хост с помощью SCP, вам необходимо указать флаг -r.
Например, предположим, что я хочу получить все файлы журналов с сервера CentOS на свой локальный компьютер. В этом случае я могу запустить команду:
Вы заметите, что я использовал учетную запись root для своего сервера CentOS. Это связано с тем, что доступ к каталогу /var/log разрешен только пользователю root.
После завершения все файлы и каталоги внутри каталога /var/log будут перенесены в каталог /logs на моем локальном компьютере.
Заключение
В этом руководстве мы узнали, как использовать утилиту SCP для передачи файлов на удаленный хост и с него. Если вам нужно выполнять массовые передачи с использованием SCP, обязательно используйте постоянный сеанс, такой как tmux.
Спасибо за чтение и снаряды везде!