Ubuntu шифрует SSD + / домашний (HDD)

У меня есть SSD и HDD.

При установке Ubuntu я хочу «Удалить диск и установить Ubuntu», а также «Шифровать новую установку Ubuntu для обеспечения безопасности».

Это делает мой / домашний под SSD, но я хотел бы иметь его под HDD, но также зашифрован. Как это сделать?

EDIT:

sda 8:0 0 223,6G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 732M 0 part /boot └─sda3 8:3 0 222,4G 0 part └─sda3_crypt 253:0 0 222,4G 0 crypt ├─ubuntu--vg-root 253:1 0 206,4G 0 lvm / └─ubuntu--vg-swap_1 253:2 0 15,9G 0 lvm [SWAP] sdb 8:16 0 931,5G 0 disk └─sdb1 8:17 0 931,5G 0 part └─home_drive 253:3 0 931,5G 0 crypt /mnt swap resize это будет следующий шаг (или даже отключить)
2
задан 14 November 2017 в 01:31

2 ответа

Ах, пользовательское разбиение. Это весело, особенно когда вы пытаетесь зашифровать кросс-объем. Я собираюсь предположить, что вы не хотите слишком сумасшедшим (да, это моя структура разделов) и используйте LVM внутри LUKS. Я также предполагаю, что вы уже установили что-то, так как это облегчает этот процесс.

Часть I: Настройка вашего раздела LUKS

Вы собираетесь чтобы начать с создания нового раздела EXT4 на вашем жестком диске. Сделайте это как можно больше места.

Затем вам нужно будет запустить cryptsetup, чтобы фактически настроить шифрование. Команда, которую вы хотите, будет:

cryptsetup luksFormat /dev/sdXY

Заменить /dev/sdXY тем, что указывает на ваш новый раздел EXT4. Вам будет предложено выбрать пароль. Выберите сильный и запишите его. Вам не нужно будет помнить об этом к моменту завершения (вы поймете, почему, когда мы переходим к этому сообщению).

Затем нам нужно сделать еще один раздел ext4 внутри вашего LUKS, который в конечном итоге продолжит удерживать /home. Эти команды достигнут этого:

cryptsetup open --type luks /dev/sdXY home_drive mkfs -t ext4 /dev/mapper/home_drive cryptsetup close home_drive

Затем запустите blkid и запишите UUID вашего нового контейнера LUKS (в /dev/sdXY).

Часть II: Включить автоматическое дешифрование

Теперь нам нужно настроить что-то, называемое decrypt_derived, которое позволяет вам «цепочки» операций дешифрования.

Сделав это, мы разрешим использовать один пароль для обоих дисков. Фактически, ваш дешифрованный первый диск будет паролем для вашего второго диска. Ваш пароль (выбранный выше) будет по-прежнему работать в случае чрезвычайной ситуации (думаю, восстановление данных или аналогичный).

Запустите следующие команды / файлы. Не забудьте переименовать ubuntu_crypt в любой момент, на который вы звоните в текущий крип (см. [F18], чтобы найти это). Также замените /dev/sdXY на ваш новый раздел LUKS.

/lib/cryptsetup/scripts/decrypt_derived ubuntu_crypt > /tmp/home_keyfile cryptsetup luksAddKey /dev/sdXY /tmp/home_keyfile shred -u /tmp/home_keyfile

Затем вам нужно добавить следующую строку в /etc/crypttab:

home_drive UUID=<your_drive_uuid> ubuntu_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived

Если вы с помощью SSD для вашего домашнего привода обязательно замените luks,keyscript=... на luks,discard,keyscript=....

Часть III: Добавить в /etc/fstab [ ! d19]

Теперь, когда ваша система настроена и может автоматически монтировать накопитель, нам нужно знать /etc/fstab об этом.

К счастью, это всего лишь одна строка, которая должна добавляется ниже записи / в /etc/fstab. Эта строка будет выглядеть примерно так:

/dev/mapper/home_drive /mnt ext4 errors=remount-ro 0 1

Часть IV: Тестирование

Затем вы захотите смонтировать свою новую ( готовый к работе!) домашний раздел. Ваши команды будут выглядеть примерно так:

cryptsetup open --type luks /dev/sdXY home_drive mount /dev/mapper/home_drive /mnt

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

Наконец, вам просто нужно запустить следующую команду, чтобы ваша система узнала о вашем склепе:

update-initramfs -u -k all

Перезагрузите свою систему и убедитесь, что вам нужно будет только ввести ваш пароль один раз. Если вам нужно сделать это несколько раз, что-то пошло не так. Дважды проверьте все ваши шаги.

Как только вы снова подключитесь к сети, подтвердите, что в /mnt есть все ваши домашние данные.

Часть V: Перемещение для реального

Теперь вы снова захотите снова открыть /etc/fstab и отредактируйте новую строку, заменив /mnt на /home. Это будет выглядеть так:

/dev/mapper/home_drive /home ext4 errors=remount-ro 0 1

Сохраните файл.

Еще раз запустите update-initramfs -u -k all и перезагрузите вашу систему.

re back up, запустите lsblk и убедитесь, что ваш homedir установлен на новый диск.

Как только вы будете счастливы, вам нужно будет избавиться от ваших старых домашних данных. Проблема в том, что mount заменит текущую папку самим, поэтому нет доступа к этим данным (и вы не можете удалить свой homedir во время работы). Итак, вам нужно будет сделать bindmount:

mount --bind / /mnt

Запустить touch /mnt/home/test, а затем сразу запустить cat /home/test и убедиться, что он жалуется, что файл не найден.

Как только вы уверены, что /home/test не существует, но /mnt/home/test делает, вы можете продолжить и удалить старый дом с помощью rm -rf /mnt/home/*.

Ваша система теперь будет на вашем SSD, и ваш homedir будет на своем собственном зашифрованном диске!

2
ответ дан 18 July 2018 в 03:34

Ах, пользовательское разбиение. Это весело, особенно когда вы пытаетесь зашифровать кросс-объем. Я собираюсь предположить, что вы не хотите слишком сумасшедшим (да, это моя структура разделов) и используйте LVM внутри LUKS. Я также предполагаю, что вы уже установили что-то, так как это облегчает этот процесс.

Часть I: Настройка вашего раздела LUKS

Вы собираетесь чтобы начать с создания нового раздела EXT4 на вашем жестком диске. Сделайте это как можно больше места.

Затем вам нужно будет запустить cryptsetup, чтобы фактически настроить шифрование. Команда, которую вы хотите, будет:

cryptsetup luksFormat /dev/sdXY

Заменить /dev/sdXY тем, что указывает на ваш новый раздел EXT4. Вам будет предложено выбрать пароль. Выберите сильный и запишите его. Вам не нужно будет помнить об этом к моменту завершения (вы поймете, почему, когда мы переходим к этому сообщению).

Затем нам нужно сделать еще один раздел ext4 внутри вашего LUKS, который в конечном итоге продолжит удерживать /home. Эти команды достигнут этого:

cryptsetup open --type luks /dev/sdXY home_drive mkfs -t ext4 /dev/mapper/home_drive cryptsetup close home_drive

Затем запустите blkid и запишите UUID вашего нового контейнера LUKS (в /dev/sdXY).

Часть II: Включить автоматическое дешифрование

Теперь нам нужно настроить что-то, называемое decrypt_derived, которое позволяет вам «цепочки» операций дешифрования.

Сделав это, мы разрешим использовать один пароль для обоих дисков. Фактически, ваш дешифрованный первый диск будет паролем для вашего второго диска. Ваш пароль (выбранный выше) будет по-прежнему работать в случае чрезвычайной ситуации (думаю, восстановление данных или аналогичный).

Запустите следующие команды / файлы. Не забудьте переименовать ubuntu_crypt в любой момент, на который вы звоните в текущий крип (см. [F18], чтобы найти это). Также замените /dev/sdXY на ваш новый раздел LUKS.

/lib/cryptsetup/scripts/decrypt_derived ubuntu_crypt > /tmp/home_keyfile cryptsetup luksAddKey /dev/sdXY /tmp/home_keyfile shred -u /tmp/home_keyfile

Затем вам нужно добавить следующую строку в /etc/crypttab:

home_drive UUID=<your_drive_uuid> ubuntu_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived

Если вы с помощью SSD для вашего домашнего привода обязательно замените luks,keyscript=... на luks,discard,keyscript=....

Часть III: Добавить в /etc/fstab [ ! d19]

Теперь, когда ваша система настроена и может автоматически монтировать накопитель, нам нужно знать /etc/fstab об этом.

К счастью, это всего лишь одна строка, которая должна добавляется ниже записи / в /etc/fstab. Эта строка будет выглядеть примерно так:

/dev/mapper/home_drive /mnt ext4 errors=remount-ro 0 1

Часть IV: Тестирование

Затем вы захотите смонтировать свою новую ( готовый к работе!) домашний раздел. Ваши команды будут выглядеть примерно так:

cryptsetup open --type luks /dev/sdXY home_drive mount /dev/mapper/home_drive /mnt

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

Наконец, вам просто нужно запустить следующую команду, чтобы ваша система узнала о вашем склепе:

update-initramfs -u -k all

Перезагрузите свою систему и убедитесь, что вам нужно будет только ввести ваш пароль один раз. Если вам нужно сделать это несколько раз, что-то пошло не так. Дважды проверьте все ваши шаги.

Как только вы снова подключитесь к сети, подтвердите, что в /mnt есть все ваши домашние данные.

Часть V: Перемещение для реального

Теперь вы снова захотите снова открыть /etc/fstab и отредактируйте новую строку, заменив /mnt на /home. Это будет выглядеть так:

/dev/mapper/home_drive /home ext4 errors=remount-ro 0 1

Сохраните файл.

Еще раз запустите update-initramfs -u -k all и перезагрузите вашу систему.

re back up, запустите lsblk и убедитесь, что ваш homedir установлен на новый диск.

Как только вы будете счастливы, вам нужно будет избавиться от ваших старых домашних данных. Проблема в том, что mount заменит текущую папку самим, поэтому нет доступа к этим данным (и вы не можете удалить свой homedir во время работы). Итак, вам нужно будет сделать bindmount:

mount --bind / /mnt

Запустить touch /mnt/home/test, а затем сразу запустить cat /home/test и убедиться, что он жалуется, что файл не найден.

Как только вы уверены, что /home/test не существует, но /mnt/home/test делает, вы можете продолжить и удалить старый дом с помощью rm -rf /mnt/home/*.

Ваша система теперь будет на вашем SSD, и ваш homedir будет на своем собственном зашифрованном диске!

2
ответ дан 24 July 2018 в 17:52
  • 1
    Я не могу заставить его работать в Части IV. Если я создаю ls -a /mnt, появляется только потерянное + найденное. Но если я снова попробую установить mount, он уже будет установлен на /mnt. Когда я перезагружаюсь, он переходит в режим обслуживания. Как я должен снова запустить компьютер e комментировать добавленную строку на /etc/fstab – Gohan 11 November 2017 в 20:09
  • 2
    @gohan Пожалуйста, отредактируйте исходный вопрос с результатами команды lsblk. – Kaz Wolfe 11 November 2017 в 21:02
  • 3
    Кроме того, на первом монтировании вы ожидаете , чтобы содержать только lost+found. Вам просто нужно скопировать свой userdir (так /home/gohan). После этого ls /mnt должен содержать папку gohan. – Kaz Wolfe 11 November 2017 в 21:57
  • 4
    Кажется, что keyfile=/lib/.... не работает. Мне удалось заставить его работать с keyscript=/lib/... – Gohan 13 November 2017 в 00:12
  • 5
    @Gohan ой, ничего себе. ты прав! Извините за эту опечатку! – Kaz Wolfe 13 November 2017 в 00:13

Другие вопросы по тегам:

Похожие вопросы: