Гид по технологиям

Шифрование домашнего каталога Raspberry Pi

• 10 min read • Безопасность • Обновлено 28 Nov 2025
Шифрование домашнего каталога Raspberry Pi
Шифрование домашнего каталога Raspberry Pi

Почему это важно

Raspberry Pi по умолчанию хранит данные в разделе операционной системы на microSD или SSD/HDD. Эти носители физически маленькие и легко вынуть: злоумышленник может подключить карту к другому компьютеру и прочитать все файлы — даже при наличии сильного пароля учётной записи. Среди уязвимых данных — профили браузера (сохранённые логины и пароли), SSH-ключи, конфигурации приложений и другие чувствительные файлы.

Тезис в двух строках: шифрование диска защищает данные при потере или краже носителя — без правильной фразы-пароля раздел не прочитать.

Кому подойдёт это руководство

  • Домашним пользователям, которые хотят защитить личные данные на Raspberry Pi.
  • Администраторам, которым нужно быстро развернуть шифрование /home без командной строки.
  • Тем, кто хочет GUI-процесс (gnome-disks) и понятные шаги.

В одном предложении: LUKS — это формат шифрования блочных устройств; crypttab и fstab управляют тем, как система расшифровывает и монтирует разделы при загрузке.

Основные варианты и что выбрать

Вариант A — использовать существующий диск (microSD/SSD): вы уменьшаете размер корневого раздела и создаёте зашифрованный раздел на том же носителе. Плюсы: без дополнительного оборудования, компактно. Минусы: больше записей на одном носителе (может снизить срок жизни microSD).

Вариант B — использовать отдельный диск (SSD/HDD): подключить новый диск по USB↔SATA и сделать на нём зашифрованный /home. Плюсы: меньше нагрузка на системный носитель, легче восстановление, лучше для частого копирования/RAID. Минусы: требуется место и дополнительный диск.

В этом руководстве рассматривается Вариант A (на одном носителе) — он более сложен по шагам и универсален; Вариант B — подмножество шагов (пропустите сжатие/resize корневого раздела и укажите новый диск как цель).


Ключевые понятия (кратко)

  • LUKS — стандартное решение для шифрования блочных устройств в Linux.
  • crypttab — файл, где указывают, какие зашифрованные устройства расшифровывать при загрузке.
  • fstab — файл, где указывают, какие файловые системы монтировать и куда при загрузке.
  • rsync — инструмент для безопасного и контрольного копирования файлов и атрибутов.
  • udisks2 / Disks (gnome-disk-utility) — графический инструмент управления дисками.

Подготовка: что нужно заранее

  • Другой компьютер с Linux и gnome-disk-utility (или загрузочный live-USB), или возможность временно подключить диск к другому Linux-прибору.
  • Резервная копия важных данных (если боитесь потерять): Disks умеет сохранять образ диска.
  • Достаточно свободного места: рекомендуем выделить как минимум 15 ГБ для /home, если носитель ≥ 32 ГБ.
  • Подготовьте длинную фразу-пароль (passphrase) — предпочтительнее длинное предложенние вместо сложного короткого пароля.

Important: перед изменением разделов всегда сделайте резервную копию критичных данных.

Подготовка носителя: уменьшение корневого раздела (на другом компьютере)

  1. Подключите microSD/SSD к другому Linux-компьютеру. Если вы используете Windows/Mac — лучше сделать это с live-Linux.
  2. Установите gnome-disk-utility и запустите Disks:
sudo apt update
sudo apt install gnome-disk-utility -y
gnome-disks
  1. (Опционально) Создайте образ диска через меню Disks → Create Disk Image — сохраните образ в надёжное место.
  2. Выберите корневой раздел (root), нажмите значок шестерёнки и выберите “Resize” (Изменить размер). Оставьте примерно 15 ГБ для корня, остальное — свободное пространство для зашифрованного раздела.
  3. Подтвердите изменение и дождитесь окончания операции. Затем извлеките носитель и верните его на Raspberry Pi.

Notes: операции с разделами могут занять время; не прерывайте питание во время изменения размера.

Установка утилит на Raspberry Pi

На Raspberry Pi установите Disks и модуль шифрования:

sudo apt update
sudo apt install gnome-disk-utility -y
sudo apt install libblockdev-crypto2 -y
sudo systemctl restart udisks2.service

После этого откройте Disks через меню или запустите gnome-disks.

Создание LUKS-шифрованного раздела (GUI)

  1. В Disks выберите “Free Space” (Свободное пространство) и нажмите “+” для создания нового раздела.
  2. Оставьте размер по умолчанию (максимум) и нажмите “Next”.
  3. В поле Volume Name укажите например: Encrypted.
  4. Выберите файловую систему EXT4 и отметьте “Password protect volume (LUKS)”.
  5. Введите надёжную фразу-пароль (passphrase) — желательно длинная фраза, 16+ символов или больше.
  6. Нажмите Create и дождитесь завершения. Если появится ошибка, связанная с /etc/crypttab, создайте пустой файл:
sudo touch /etc/crypttab

и повторите создание раздела.

Настройка автоматического разблокирования при загрузке (через Disks)

  1. Выделите созданный зашифрованный раздел, нажмите значок шестерёнки → Edit Encryption Options (Изменить параметры шифрования).
  2. Включите “User Session Defaults”, отметьте “Unlock at system startup” (Разблокировать при загрузке), введите Passphrase и подтвердите.

Disks добавит запись в /etc/crypttab — это позволяет системе расшифровать раздел на этапе инициализации. По умолчанию Disks может создать ключ-файл и записать ссылку на него в /etc/crypttab. Это удобно, но представляет риск (см. ниже).

Монтирование и копирование /home на зашифрованный раздел

  1. Смонтируйте новый Encrypted-раздел (кнопка Play в Disks). Скопируйте путь монтирования (например /media/pi/Encrypted).
  2. Рекомендуется клонировать, а не перемещать — так вы можете проверить целостность перед удалением исходных. Замените arjunandvishnu на ваше имя пользователя:
sudo rsync -av /home/* /media/arjunandvishnu/Encrypted/
  1. Исправьте права и владельца у скопированных файлов:
sudo chown -Rv arjunandvishnu:arjunandvishnu /media/arjunandvishnu/Encrypted/arjunandvishnu
# Повторите для других пользователей, если нужно
sudo chown -Rv pi:pi /media/arjunandvishnu/Encrypted/pi
  1. Проверьте: залогиньтесь как пользователь, убедитесь, что видимые файлы совпадают, откройте несколько конфигураций и документов.

Критерии приёмки: файлы в /media/…/Encrypted/ совпадают с /home (по количеству и размеру), права и владельцы корректны, приложения успешно читают конфигурации пользователя.

Автоматический монтинг в /home

  1. В Disks выберите Encrypted → Gear → Edit Mount Options (Редактировать параметры монтирования).
  2. Выключите “User Session Defaults” и установите Mount Point: /home. Включите автоматический монтинг.

Это добавит запись в /etc/fstab, чтобы система монтировала расшифрованный раздел как /home.

  1. Перезагрузите Pi. При загрузке появится запрос фразы-пароля (если вы удалили ключ-файл — см. раздел ниже). Введите passphrase.

После загрузки выполните:

sudo chmod 755 /home
ls -la /home  # проверьте владельцев и файлы

Проверьте, что ваш домашний каталог действительно находится на зашифрованном разделе:

df -h /home
mount | grep /home

Если всё правильно — путь должен указывать на ваш Encrypted раздел.

Удаление сохранённой ключ-файла (обеспечение безопасности)

Disks иногда сохраняет ключ-файл и добавляет ссылку в /etc/crypttab, что позволяет автоматическую расшифровку без ввода пароля. Это удобно, но рискованно — файл с ключом хранится открытым на диске. Рекомендация: удалите ключ-файл и строку в /etc/crypttab, чтобы система требовала ввод passphrase при загрузке.

Пример удаления ключа (замените YOUR-KEY на реальное имя файла):

sudo rm /etc/luks-keys/YOUR-KEY
# затем вручную откройте /etc/crypttab и удалите соответствующую строку
sudo nano /etc/crypttab

После удаления — при следующей загрузке будет отображён экран запроса фразы-пароля.

Important: убедитесь, что вы помните фразу-пароль; при её утрате восстановление данных практически невозможно.

Удаление старого незашифрованного /home

Поскольку вы клонировали /home, старые файлы всё ещё на корневом разделе в /home. Чтобы полностью перейти на зашифрованный каталог, удалите старую директорию. Рекомендуется это делать, смонтировав носитель на другом компьютере (чтобы /home не был активен), и аккуратно удалить старую папку:

  1. Извлеките носитель, подключите к другому компьютеру.
  2. Перейдите в корневой раздел и удалите /home (проверьте ещё раз бэкапы!).

Будьте внимательны: удаление необратимо, если нет резервной копии.

Восстановление доступа, если появятся проблемы с загрузкой

  • Если экран загрузки пуст: нажмите стрелки вверх/вниз, чтобы показать экран ввода; Backspace очистит ввод.
  • Если вы забыли фразу-пароль и удалили ключ-файл — данные потеряны.
  • Если система не монтирует /home — загрузитесь в single-user или rescue mode, откройте /etc/crypttab и /etc/fstab для диагностики.

Полезные команды для отладки:

sudo cryptsetup status <имя_крапта>  # проверить статус LUKS контейнера
sudo lsblk -f  # увидеть метки и файловые системы
journalctl -b -u systemd-cryptsetup@*  # логи расшифровки при загрузке

Альтернативные подходы и их плюсы/минусы

  • Шифрование всего диска (full-disk encryption): защищает все разделы, включая /boot (но /boot обычно остаётся незашифрованным для загрузки). Подходит для новых установок. Требует больше внимания к конфигурации загрузчика.
  • Шифрование отдельной внешней дисковой системы (/home на внешнем SSD): проще для восстановления и резервного копирования, снижает износ microSD.
  • Файловое шифрование (gpg, age, EncFS, eCryptfs): шифрует отдельные файлы/папки; гибко, но сложнее управлять и менее прозрачно для приложений.

Выбор: если нужно простое и всеобщее решение — LUKS + /home (как описано) оптимален.

Практические советы по безопасности (hardening)

  • Используйте длинные фразы-пароли (passphrase) вместо коротких паролей.
  • Храните фразу-пароль в надёжном менеджере паролей или печатной копии в безопасном месте.
  • Не храните ключ-файлы на том же устройстве, что и шифрованный раздел.
  • Регулярно делайте резервные копии (образ диска или rsync на внешний носитель).
  • При необходимости используйте аппаратный токен (YubiKey) для хранения ключей (требует дополнительной настройки).

Резервирование и восстановление данных

  • Регулярные бэкапы: cron + rsync to external drive/remote storage.
  • Для полного восстановления можно сохранить образ диска (Disks → Create Disk Image) или использовать dd/partclone.
  • Тестируйте восстановление — регулярные проверки уменьшают риск сюрпризов.

Калькуляция усилий vs безопасности (Impact × Effort)

  • Effort: средний (потребуется работа с разделами, копирование данных, перезагрузки).
  • Impact: высокий (физическая кража носителя перестаёт быть катастрофой).

Вывод: усилия оправданы для личных устройств и серверов с чувствительными данными.

Чек-листы

Чек-лист перед началом

  • Сделана резервная копия критичных данных
  • Подключён другой Linux-компьютер или live-USB
  • Подготовлена длинная фраза-пароль
  • Имеется свободное пространство ≥ 15 ГБ (рекомендовано)

Чек-лист после установки

  • /home монтируется с Encrypted-раздела
  • Владельцы и права корректны (ls -la /home)
  • Ключ-файл удалён из /etc/luks-keys (если удалялся)
  • /etc/crypttab и /etc/fstab содержат корректные записи
  • Проверен вход в систему и запуск основных приложений

Роль: системный администратор

  • Провести инвентаризацию устройств и меди
  • Обеспечить политикой хранения ключей и бэкапов
  • Проверять логирование и мониторинг ошибок расшифровки

Роль: домашний пользователь

  • Сохранить фразу-пароль в менеджере/на бумаге
  • Делать регулярные бэкапы на внешний диск
  • Использовать отдельный SSD, если беспокоит срок жизни microSD

Примеры распространённых ошибок и как их исправить

  • Ошибка: “failed to open /etc/crypttab” — создайте файл: sudo touch /etc/crypttab и повторите.
  • Необходима проверка: если Encrypted не монтируется → проверьте /var/log/syslog или journalctl на ошибки udisks2/cryptsetup.
  • Если после удаления ключа система не запрашивает пароль — возможно, в initramfs есть старые настройки; обновите initramfs и проверьте скрипты расшифровки.

Короткий план действий (SOP)

  1. Резервная копия данных.
  2. Подключить носитель к Linux и уменьшить root-раздел.
  3. На Raspberry Pi установить gnome-disks и libblockdev-crypto2.
  4. Создать LUKS-раздел через Disks.
  5. Настроить Unlock at system startup (временно для теста), затем удалить ключ-файл.
  6. rsync /home → Encrypted, chown, тесты.
  7. Настроить автоматическое монтирование Encrypted как /home и перезагрузить.
  8. Удалить старую /home на корневом разделе, если всё OK.

Матричная оценка рисков и смягчение

  • Риск: потеря фразы-пароля → Последствие: потеря доступа к данным. Смягчение: хранить резервную копию фразы в менеджере/на бумаге.
  • Риск: ключ-файл остался на диске → Последствие: доступ без ввода пароля. Смягчение: удалить ключ-файл и проверить /etc/crypttab.
  • Риск: повреждение носителя → Последствие: потеря данных. Смягчение: регулярные бэкапы, RAID (для внешнего диска).

Часто задаваемые вопросы (коротко)

Q: Можно ли шифровать, не используя GUI? A: Да — можно через cryptsetup и LVM, но это потребует больше командной работы и внимания к initramfs.

Q: Нужно ли шифровать /boot? A: Обычно /boot остаётся незашифрованным для возможности загрузки; шифровать /boot можно, но это усложняет загрузчик.

Q: Что делать при загрузке без клавиатуры (headless)? A: Для headless-систем LUKS с вводом пароля при загрузке неудобен; используйте внешний зашифрованный диск, оставьте ключ-файл на внешнем носителе, или применяйте network-based unlocking (требует настройки).


Заключение

Шифрование домашнего каталога Raspberry Pi с помощью LUKS и Disks — практичный и относительно простой способ защитить личные данные от физического доступа к носителю. Процесс включает подготовку носителя, создание зашифрованного раздела, перенос данных и изменение конфигурации загрузки. Самое важное — сохранить фразу-пароль и делать регулярные резервные копии. Для тех, кому важна отказоустойчивость, сочетание шифрования с зеркалированием (RAID-1) на внешних дисках даёт лучшее сочетание безопасности и сохранности данных.

Если нужно, могу подготовить компактную инструкцию под Вариант B (использование второго SSD) или командную версию процесса через cryptsetup и редакцию initramfs.

Raspberry Pi next to Flare SSD Подпись: Raspberry Pi рядом с внешним Flare SSD — пример внешнего носителя для /home.

Removing a SD Card from a Raspberry Pi Подпись: Снятие microSD с Raspberry Pi — демонстрация лёгкого физического доступа к носителю.

Setting a primary password in Firefox browser Подпись: Пример настройки основного пароля в браузере — дополнительный уровень защиты, но не замена системного шифрования.

SSD and SD Card encryption with a lock Подпись: Символическое изображение шифрования SSD и microSD.

Install and run disks utility in Raspberry Pi OS

Create a disk image using gnome disks tool

Resize partition using gnome disks tool

Select root partition size using gnome disks tool

Free space created using disks tool

Install crypto tools on Raspberry Pi OS

Create partition from free space using disks tool

Choose partition size using disks tool

Create LUKS encrypted partition using gnome disks tool

Choose encryption passphrase password using disks tool

Handling failed to open file etc crypttab error

Edit encryption options using disks tool

Generate encryption configuration file using disks tool

Mount point of encrypted partition

Copy home directory to encrypted partition

Mount encrypted partition automatically

Set mount point to home using disks tool

Change permissions and test home directory path

Delete files on removable media to recycle bin

Contents of the crypttab file

Where are luks keys and passwords stored

Delete luks keys to secure the pi

Screen showing OS asking for encryption passphrase at boot

Remove files of old home directory after setup

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро