Как безопасно перенести файлы с удаленного сервера на локальный компьютер с помощью команды SCP в Linux?

Как безопасно перенести файлы с удаленного сервера на локальный компьютер с помощью команды SCP в Linux?

07:43, 10.10.2023

Содержание статьи
arrow

  • Декодирование команд SCP: Руководство
  • Демистификация синтаксиса SCP
  • Обзор основных команд SCP
  • Перемещение файлов с локального хоста на удаленный сервер
  • Передача файлов с удаленного сервера на локальный
  • Копирование файлов между удаленными хостами
  • Управление передачей нескольких файлов
  • Важные выводы
  • В заключение

Декодирование команд SCP: Руководство

SCP расшифровывается как Secure Copy Protocol (протокол безопасного копирования). Это команда, обеспечивающая безопасный способ копирования файлов между удаленным сервером и локальной машиной по протоколу SSH (Secure Shell), в отличие от более простой команды cp (copy). Это позволяет не только безопасно передавать информацию, но и быть уверенным в том, что никто не сможет перехватить конфиденциальные данные.

Демистификация синтаксиса SCP

Как и многие другие команды, SCP - это не одна команда для выполнения одного действия. Вместо этого в синтаксис SCP входит целый набор команд, позволяющих выполнять различные операции, связанные с передачей файлов.

Основная структура синтаксиса SCP выглядит следующим образом:

scp [OPTIONS] [[user@]src_host:]file1 [[user@]dest_host:]file2

"src_host" - это файл или каталог, который вы хотите передать, "dest_host" обозначает место, куда вы хотите передать содержимое. Оба элемента могут быть как локальными, так и удаленными, т.е. SCP поддерживает двунаправленную передачу.

"Options" обозначает различные разрешения, которые вы можете предоставить своей команде. Среди них:

  • P (заглавная) - выбрать порт для подключения удаленного сервера.
  • p (маленькая) - добавить информацию о моменте времени для облегчения поиска операции в дальнейшем.
  • r - передать всю указанную директорию.
  • q - добавьте, если не хотите получать никаких уведомлений о завершении процедуры переноса.
  • C - сжимать информацию при копировании.

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

Прежде чем углубляться в конкретные случаи использования команды SCP, необходимо проверить два условия:

  • На каждом устройстве должен присутствовать SSH.
  • Также необходимо иметь root-доступ к каждому устройству.

Обзор основных команд SCP

Перемещение файлов с локального хоста на удаленный сервер

Сначала рассмотрим, как переслать файл или каталог с локального хоста на удаленный сервер.

Примените: scp /path/to/local/file username@remote_ip:/path/to/destination.

"/path/to/local/file" означает путь к передаваемым файлам, "username" - имя пользователя удаленного сервера, "remote_ip" должен содержать адрес удаленного сервера. "path/to/destination" - желаемое местоположение на удаленном сервере.

Совет: Вместо того чтобы каждый раз набирать весь домашний каталог, можно просто ввести знак ~ (tilda) в качестве адресата.

Кроме того, эту же команду можно использовать для копирования нескольких файлов. Например, можно скопировать все файлы из одного каталога, имеющие общее расширение. Для этого вместо файла укажите *.[расширение файла]. Например, чтобы скопировать все файлы .txt, введите *.txt.

scp /path/to/local/.txt username@remote_ip:/path/to/destination*

Можно также сохранить файл под другим именем, добавив нужное имя после пункта назначения.

scp /path/to/local/painauchocolat.txt username@remote_ip:/path/to/destination/croissant.txt

В приведенном примере файл "painauchocolat.txt" будет сохранен как "croissant.txt".

Передача файлов с удаленного сервера на локальный

Аналогично строится соответствующая команда для передачи файлов с удаленного сервера на локальную машину:

scp username@remote_ip:/path/to/remote/file /path/to/local/destination

Замените имя пользователя, "remote_ip", "/path/to/remote/file" и "/path/to/local/destination", как это было в предыдущих случаях.

Совет: Если файлы находятся в домашнем каталоге, то указывать путь не нужно. Просто введите имя файла, и его местоположение, а также место назначения будут установлены как домашний каталог.

scp username@192.168.137.59:painauchocolat.txt

С помощью этой команды вы можете переслать файл painauchocolat.txt из домашнего каталога удаленного сервера в домашний каталог вашего локального компьютера.

Копирование файлов между удаленными хостами

Протокол SCP хорош тем, что он позволяет не только копировать файлы между локальным и удаленным хостом, но и осуществлять обмен файлами между двумя удаленными серверами. Для этого используйте следующий синтаксис:

scp username@remote_ip1:/path/to/source/file username@remote_ip2:/path/to/destination

Замените имена пользователей, remote_ip1, remote_ip2, /path/to/source/file и /path/to/destination соответственно.

Следует помнить, что это не обязательно должен быть идентичный пользователь. Вы можете передавать файлы от одной учетной записи пользователя к другой, указав соответствующие имена пользователей.

Управление передачей нескольких файлов

С помощью SCP можно также передавать группы файлов и целые каталоги. Для передачи каталогов к команде SCP необходимо добавить флаг -r:

scp -r /path/to/local/directory username@remote_ip:/path/to/destination

Если необходимо скопировать отдельные файлы из каталога, достаточно указать несколько имен файлов по пути к источнику. Например:

scp /path/to/local/file1 file2 file3 file_andsoon username@remote_ip:/path/to/destination

Важные выводы

Разрешения: Убедитесь, что у вас есть необходимые разрешения для передачи файлов. Это должно быть разрешение на чтение для исходных файлов и разрешение на запись для конечного каталога.

SSH: Поскольку в SCP задействован SSH, вам потребуется соответствующий пароль.

Файлы с одинаковыми именами: Убедитесь, что в целевом каталоге нет файлов, имена которых совпадают с именами копируемых файлов, если вы не хотите, чтобы SCP заменил их, не спрашивая вас.

Двоеточие: Не забывайте ставить знак двоеточия (:) между исходным и целевым адресами.

Домашнее направление: Если вы передаете файлы в или из домашнего направления, то его можно не указывать и сразу набирать имена файлов.

В заключение

Передача файлов - это обычная процедура, которую вам, скорее всего, придется выполнять в тот или иной момент времени при работе с удаленными серверами. SCP - это один из распространенных способов передачи, достаточно удобный и в то же время безопасный. Мы надеемся, что приведенная выше статья разъяснила синтаксис этих функций, и у вас не возникнет никаких проблем при передаче файлов. Будьте внимательны!

views 57s
views 2
Поделиться

Была ли эта статья полезной для вас?

Популярные предложения VPS

Другие статьи на эту тему

cookie

Принять файлы cookie и политику конфиденциальности?

Мы используем файлы cookie, чтобы обеспечить вам наилучший опыт работы на нашем сайте. Если вы продолжите работу без изменения настроек, мы будем считать, что вы согласны получать все файлы cookie на сайте HostZealot.