uz
KA
июня 23, 2025
Обновлено июня 23, 2025

Использование команды SCP Debian для безопасной передачи файлов

Debian Linux Сети

Введение

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

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

SCP — это утилита в UNIX-подобных системах, позволяющая копировать файлы и каталоги между локальными и удаленными хостами по защищенному протоколу SSH.

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

Требования к установке

  • Root-права;
  • Debian 11 или более поздняя версия;
  • Некоторые знания о работе ОС;
  • Подключение к Интернету.

Установка

Для безопасной передачи и перед использованием утилиты нам необходимо обновить и установить все пакеты:

apt update && apt upgrade -y
Обновление
Скриншот №1 — Обновление

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

apt list | grep scp && scp
Проверка пакетов
Скриншот №2 — Проверка пакетов

На рисунке выше мы видим список пакетов и с помощью написанной команды можем проверить, установлен ли один из них. Рассмотрим синтаксис этой команды:

scp [-346ABCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] [-] destination] [-l limit] [-o ssh_option] [-P port] [-S program] source… target

  • [-346ABCpqrTv]: Это набор опций для управления поведением scp. Каждая опция имеет свое значение:
  • -3: Позволяет копировать файлы между двумя удаленными хостами через локальный хост;
  • -4: Принудительно использует IPv4 для соединения;
  • -6: Принудительное использование IPv6 для соединения;
  • -A: Аутентификация через агент аутентификации SSH;
  • -B: Оптимизация пропускной способности и превращение копирования в фоновый процесс;
  • -C: Включает сжатие данных при передаче;
  • -p: Сохраняет атрибуты и права доступа к исходным файлам;
  • -q: Тихий режим, не выводит сообщений о ходе копирования;
  • -r: Рекурсивное копирование каталогов и их содержимого;
  • -T: Отключает проверку TTY для удаленного хоста (используется при перенаправлении ввода/вывода);
  • -v: Подробный вывод, отображает информацию о ходе копирования;
  • [-c cipher]: Задает алгоритм шифрования, который будет использоваться для защиты данных при передаче. Например, aes128-ctr или blowfish-cbc;
  • [-F ssh_config]: Указывает альтернативный конфигурационный файл SSH, в котором задаются параметры подключения к удаленному хосту;
  • [-i identity_file]: Указывает файл с закрытым ключом, который будет использоваться для аутентификации при подключении по SSH;
  • [-] destination: Опционально указывает место, куда будут скопированы исходные файлы или каталоги на удаленном хосте. Если параметр опущен, то копирование будет производиться в текущий каталог удаленного хоста;
  • [-l limit]: Ограничивает пропускную способность соединения в Кбит/с;
  • [-o ssh_option]: Позволяет задать дополнительные опции SSH;
  • [-P port]: Задает порт;
  • [-S program]: Указывает путь к программе, которая будет использоваться для выполнения шифрования, например, ssh-program.

Выше мы рассмотрели все опции и параметры, которые получают полезность при использовании. Рассмотрим различные способы использования этой полезности.

Обычная передача файла

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

scp /etc/apple.txt root@78.140.240.178:/etc/
Обычная передача файла
Скриншот №3 — Обычная передача файла

Введите свои учетные данные в форме user, IP, password и согласитесь с подключением. Отлично! Теперь мы можем найти на целевой машине тот же самый файл с помощью следующей команды:

cd /etc && ls
Точка удаленного хоста
Скриншот №4 — Точка удаленного хоста

В первой колонке apple.txt успешно передан между двумя системами по ssh! Если необходимо передать целую папку или каталог, используйте опцию -r, посмотрим на примере:

scp -r -C -4 /etc/network root@78.140.240.178:/dump
Опции передачи файла
Скриншот №5 — Опции передачи файла

Эту утилиту можно использовать для резервного копирования, начиная с простого файла и заканчивая ISO всего диска и системы. К счастью, в системе Linux все настройки хранятся в конфигурационных файлах, которые позволяют переносить данные без проблем. Также мы можем использовать обратное подключение и передавать файлы с удаленной машины на локальную, просто поменяв их местами.

Резервное копирование с архивом

С помощью SCP можно создать архив всего диска, системной базы данных и других вещей, которые могут содержать всю систему. Посмотрите на связку tar и scp, как передавать данные такого типа? Дополнительно многие компании используют нестандартный порт для SSH-соединения, давайте изменим на целевой машине порт на 2222 и подумаем, как передавать данные в такой ситуации. Запишите команды ниже:

tar -cvzf dump.tar.gz / && ls
Создание архива
Скриншот №6 — Создание архива

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

scp -4 -C -v -P 2222 dump.tar.gz root@78.140.240.178:/
Передача архива
Скриншот №7 — Передача архива

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

mkdir dump && tar -xvf dump.tar.gz -C /dump
Разархивирование
Скриншот №8 — Разархивирование

Трансфер dd-образа диска

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

lsblk
Список дисков
Скриншот №9 — Список дисков

В нашем случае мы видим один физический диск и два логических пространства, для наших манипуляций мы используем логический диск для создания ISO-образа:

dd if=/dev/vda1 of=dump.iso bs=4M status=progress
Создание образа
Скриншот №10 — Создание образа

После успешного создания файла образа мы можем передать его предыдущим способом:

scp -4 -C -v -P 2222 /dump.iso root@78.140.240.178:/tmp
Передача файла
Скриншот №11 — Передача файла

Вывод

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

Оценка:
4 из 5
Аverage rating : 4.8
Оценок: 4
100029 Ташкент Улица Якка Чинар, дом 2/1
ООО «ИТГЛОБАЛКОМ ЛАБС»

Вам также может быть интересно...