Безопасное копирования файлов между хостами утилитой SCP. Основные ключи для SCP

С помощью утилиты SCP (Secure Copy) можно осуществлять безопасное копирование данных между хостами в сети. При передаче данных с использованием SCP вся информация шифруется, так как утилита работает поверх SSH и может полностью обеспечить целостность и конфиденциальность переданных данных. Утилита простая в использовании, что есть большим плюсом. В UNIX-подобных операционных системах SCP в большинстве случаев входит в состав пакета OpenSSH.

Утилита SCP предоставляет возможность делать трансфер информации:

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

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

 

Копирование между 2-мя серверами

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

 1) Для выполнения транспортировки файла с одного сервера на второй, подключаемся по SSH к серверу 1 с которого будет идти передача данных,  и в консоли вводим команду: 

scp /server1/directory/file  user@remote.server2:/remote/directory

Где:

Как только была указана команда жмем на клавишу Enter, далее система предложит ввести пароль для удаленного пользователя  с server2, задаем пароль и снова жмем на Enter, после чего начнется передача информации.

Напротив команды в терминале выводятся сведения касательно передачи файла.

Где:

 

2) Для копирования данных на сервер 1 из сервера 2, используем следующий синтаксис: 

scp user@remote.server2:/remote/directory/file  /server1/directory

Где:

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

 

Копирование между локальной машиной и удаленным сервером

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

scp /local/directory/file user@remote.server:/remote/directory

Где:

Чтобы скопировать себе файлы на локальную машину с удаленного сервера используем следующую команду:

scp user@remote.server:/remote/directory/file /local/directory/

Где уже элемент команды file – это название файла, который мы хотим получить с сервера.

Утилита SCP предоставляет ряд опций (ключи), которые контролируют каждый аспект ее выполнения и добавляет дополнительных настройки. Ключи указываются сразу после  ввода “scp”. Например, по стандарту SSH-порт устанавливается как 22, но если нужно указать другой порт для удаленного сервера нужно использовать ключ -P и указываем номер порта.

Теперь пройдемся по всем широко используемых ключах:

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

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

-q  – для отключения вывода на экран информации о выполнении копирования, сообщений с предупреждениями и ошибками. 

–v – вывод более подробной отладочной информации на экран, что удобно для  мониторинга процесса выполнения команды и отслеживания ошибок и сбоев.

Если утилита SCP завершает работу с exit status 0 - это удачное завершение выполнения команды, когда значение больше 0 - это говорит об возникновении ошибки.

– включает функцию сжатия данных при передаче между системами.

– для замены дефолтного шифра  для шифрования данных при передаче.

-r – используется для рекурсивного копирования полностью всей директории (все подкаталоги и все файлы в этих подкаталогах).

Транспортировка файлов между системами, наверное, самая популярная задача, которая встречается  при работе с удаленными серверами. Если у Вас возникли трудности или вопросы при переносе данных, команда ГиперХост с радостью предоставляет помощь своим клиентам в решении этих задач.

Также если Вы планируете стать нашим клиентом и  Вам нужен перенос сайта на наш хостинг, смело обращайтесь в тикеты, наша техподдержка полностью бесплатно разместит Ваш сайт на наших серверах.