В этой статье объясняется, как получать файлы и каталоги с удаленного хоста на наше локальное устройство.
SCP или протокол безопасного копирования – это протокол на основе SSH, который позволяет обмениваться файлами между удаленными устройствами. Используя SCP, вы можете отправлять принимаемый файл с и на локальное устройство или между удаленными устройствами.
В настоящее время SCP считается устаревшим и заменен на SFTP и RSYNC. В конце инструкций SCP мы добавили советы по загрузке файлов с удаленных хостов с использованием SFTP с синтаксисом, аналогичным SCP.
Синтаксис SCP довольно прост. Просто вызовите SCP, за которым следует удаленное имя пользователя, @, IP-адрес или хост, двоеточие и путь к файлу. Если не указан, по умолчанию используется домашний каталог удаленного пользователя. Затем определите локальный путь, по которому файл будет храниться локально.
Команда scp была разработана так, чтобы быть похожей на команду cp. Расположение копии файла указывается в конце команды.
Простой пример scp для копирования удаленного файла на локальное устройство:
scp <Username>@<IPorHost>:<PathToFile> <LocalFileLocation>
В нашем случае мы скопируем файл с именем andreyex с удаленного устройства 192.168.1.100. Файл andreyex хранится на домашнем каталоге пользователя Kali, пользователь аутентифицирован. Поэтому после двоеточия мы не указываем путь, который по умолчанию является домашним каталогом, а просто набираю имя файла («andreyex»). Затем мы указываем текущий каталог как локальное расположение для хранения файла, набирая точку:
scp kali@192.168.1.100:andreyex .
В следующем примере мы загружаем файл с именем andreyex2 с удаленного устройства в каталог /home/andreyex/locdir. Файл andreyex2 хранится в папку с именем Dir в удаленный пользователь ( andreyex2 ) в домашний каталог:
scp kali@192.168.1.100:dir/andreyex2 /home/andreyex/locdir/
Чтобы загрузить или скопировать каталоги с удаленного на локальный с помощью SCP, вам необходимо реализовать флаг -r (рекурсивно).
За исключением добавленного флага -r, как показано в следующем примере, синтаксис для каталогов загрузки такой же, как при загрузке файлов с удаленных на локальные устройства:
scp -r kali@192.168.1.100:dir/ /root/
В предыдущем разделе этой статьи объяснялось, как получать или загружать файлы с удаленного устройства с помощью SCP. В этом разделе статьи объясняется, как загрузить или отправить файл на удаленное устройство.
В приведенном ниже примере показано, как отправить или отправить файл с именем andreyexfile в каталог удаленного устройства по умолчанию или в домашний каталог пользователя. Разница с получением файлов заключается в том, что вам нужно определить файл для отправки или его путь сразу после вызова SCP, как показано на следующем снимке экрана.
Помните, что команда scp была разработана для сохранения синтаксиса команды cp. Поэтому каталог назначения файла всегда указывается в конце команды как при отправке, так и при получении файлов.
Каталоги определяются так же, как при получении или загрузке файлов. В приведенном ниже примере подчеркивается, как отправить файл с именем file2 и сохранить его в домашнем каталоге пользователя andreyex. Файл будет сохранен в подкаталоге dir удаленного устройства, расположенном в домашнем каталоге по умолчанию.
scp /home/andreyex/file2 kali@192.168.1.107:dir/
Чтобы отправить каталоги для применения аналогичного синтаксиса, просто добавьте флаг -r для рекурсивной отправки файлов.
Загрузка файлов с помощью SCP – устаревший метод, замененный в основном SFTP (протокол безопасной передачи файлов). В настоящее время правильные способы передачи файлов – это SFTP или RSYNC. SFTP можно использовать в интерактивном режиме, но в этом разделе показано, как использовать его с синтаксисом, аналогичным SCP.
В приведенном ниже примере команда sftp используется для загрузки файла с именем andreyex с удаленного хоста в локальный каталог /tmp.
sftp kali@192.168.1.107:andreyex /tmp
Для рекурсивного извлечения каталогов с использованием SFTP требуется флаг -r, как и при использовании команды scp. Каталог andreyexdir загружается на локальный каталог /TMP.
sftp -r kali@192.168.1.107:andreyexdir /tmp
Команда SFTP в основном используется в интерактивном режиме, который подробно описан в этом руководстве. Также рассмотрите возможность использования команды rsync, еще одной современной и безопасной альтернативы устаревшей команде scp.
Загрузка файлов с удаленного хоста на локальное устройство с помощью SCP, вероятно, является основным выбором для большинства пользователей Linux, включая системных администраторов. Как видите, scp – это простая команда, почти такая же простая в использовании, как и команда cp. Мы всегда предполагали, что она безопасна, поскольку ее название говорит о безопасности. Однако она больше не является безопасной и было отмечено разработчиками как устаревшей.
Основная альтернатива, протокол безопасной передачи файлов или протокол SFTP, не так удобен для пользователя, как команда scp в ее интерактивном режиме. Это одна из причин популярности команды scp даже после того, как она устарела. Однако пользователям следует рассмотреть возможность принятия SFTP или RSYNC в качестве основного выбора.
Спасибо за то, что прочитали эту статью, продолжайте читать нас.