Я установил новую систему 11.04, когда она была выпущена, и настроил полное шифрование диска с помощью LUKS. Сначала он попросил у меня пароль для моих трех зашифрованных разделов:
/
/home
swap
Трижды набирал пароль, поэтому я попытался установить / home и заменить дешифрование из ключевого файла, хранящегося в / , Я создал ключевой файл и включил его на двух разделах. Мой crypttab теперь выглядит так:
root-root_crypt UUID=13c21bf6-4d92-42a7-877a-87cc31b1aa19 none luks
home-home_crypt UUID=ba90ce5b-9df7-4764-8a72-011bbb164db4 /root/keyfile luks
home-home_crypt UUID=ba90ce5b-9df7-4764-8a72-011bbb164db4 none luks
sda3_crypt UUID=e4677895-2114-4054-9f23-d36f6bb0e6a2 /root/keyfile luks,swap
Это нормально работает для / home, который монтируется автоматически без запроса пароля. Но cryptsetup по-прежнему запрашивает пароль для пространства подкачки. Я даже пытался добавить noauto в пространство подкачки, чтобы он вообще не настраивался - как только система загрузится, я могу включить ее без ключевой фразы, поэтому я решил просто добавить поздний сценарий инициализации, чтобы сделать это, но даже с noauto cryptsetup все еще просит пароль.
Спасибо!
Имел тот же вопрос, вот то, как я сделал это на человечности 12.04.1 и 12.10,
u должен скорректировать UUID, СИСТЕМУ-SWAP_crypt, СИСТЕМУ-OS_crypt, СИСТЕМНУЮ ПОДКАЧКУ, системную ОС к изменению, используемому в Вашей системе, посмотрите ссылку ниже моего решения для большего количества информации
Получите UUID:
blkid
Подготовьтесь>
swapoff /dev/mapper/SYSTEM-SWAP_crypt
cryptsetup luksClose SYSTEM-SWAP_crypt
Скажите cryptsetup вычислять пароль раздела подкачки от ключа расшифровки объема, содержащего корневую файловую систему>
/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksFormat /dev/mapper/SYSTEM-SWAP --key-file -
/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksOpen /dev/mapper/SYSTEM-SWAP SYSTEM-SWAP_crypt --key-file -
mkswap /dev/mapper/SYSTEM-SWAP_crypt
скажите систему о разделе подкачки, отредактируйте crypttab>
nano /etc/crypttab
=? удостоверьтесь два соответствия строк
SYSTEM-OS_crypt UUID=uuid-of-luks-containing-osroot none luks
SYSTEM-SWAP_crypt UUID=uuid-of-luks-containing-swap SYSTEM-OS_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived
скажите систему о разделе подкачки, отредактируйте fstab>
nano /etc/fstab
=? удостоверьтесь, что у Вас есть эта строка
/dev/mapper/SYSTEM-SWAP_crypt swap swap sw 0 0
скажите систему о разделе подкачки, отредактируйте резюме>
nano /etc/initramfs-tools/conf.d/resume
=? удостоверьтесь, что у Вас есть эта строка
RESUME=UUID=uuid-of-encrypted-swap-SYSTEM-SWAP_crypt
обновите initramfs на разделе начальной загрузки>
update-initramfs -u -k all
Ответ, вдохновленный путем Установки зашифрованной системы Debian (заархивированная ссылка):
При использовании зашифрованной системы Debian у Вас, вероятно, есть некоторые требования к защите встретиться. Если это так, необходимо также использовать зашифрованный раздел подкачки.
Раздел подкачки может быть зашифрован двумя способами:
- это может быть воссоздано на каждой начальной загрузке, с помощью случайного пароля, или
- это может быть создано как другие зашифрованные тома с персистентным паролем
Если бы Вы хотите использовать, приостанавливают к диску, Вы не можете использовать первый подход, поскольку он перезаписал бы Ваш объем потребляемой памяти, сохраненный в разделе подкачки. Кроме того, Вы не можете использовать файл ключей как другие разделы, так как корневая файловая система не (и не должен), будьте смонтированы к тому времени, когда процесс резюме запускается и должен считать дешифрованный раздел подкачки.
Путем я решил, это, говоря cryptsetup вычислять пароль раздела подкачки от ключа расшифровки объема, содержащего корневую файловую систему; cryptsetup пакет реализует это с
/lib/cryptsetup/scripts/decrypt_derived
. Таким образом, для установки раздела подкачки я делаю следующее, принимаяhda2
раздел, содержащий зашифрованную подкачку, и корневая файловая система находится вhda5_crypt
:
swapoff /dev/mapper/hda2_crypt
cryptsetup luksClose hda2_crypt
dd if=/dev/urandom of=/dev/hda2
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
| cryptsetup luksFormat /dev/hda2 --key-file -
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
| cryptsetup luksOpen /dev/hda2 hda2_crypt --key-file -
mkswap /dev/mapper/hda2_crypt
Для сообщения системы об этом разделе подкачки мы должны добавить его к
/etc/crypttab
и/etc/fstab
; удостоверьтесь, те файлы содержат строки как следующее:
/etc/crypttab:
hda2_crypt /dev/hda2 hda5_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived
/etc/fstab:
/dev/mapper/hda2_crypt swap swap sw 0 0
С этим на месте, как только Вы настраиваете систему для, приостанавливают к диску, раздел подкачки будет автоматически настроен вместе с корневой файловой системой очень рано во время последовательности начальной загрузки. Для выяснения, какой раздел подкачки сделать доступным в той точке, cryptsetup проверяет следующее: asfasfafs - строка как
RESUME=/dev/mapper/hda2_crypt
в/etc/initramfs-tools/conf.d/resume
- настройка устройства резюме в/etc/uswsusp.conf
(см.uswsusp.conf(5)
) - запись в/etc/suspend.conf
- aresume=/dev/mapper/hda2_crypt
в командной строке ядраМожно осмотреть
/usr/share/initramfs-tools/hooks/cryptroot
если Вы хотите знать больше об этом.
Это, вероятно, указывает на то, что доступ к разделу подкачки осуществляется во время части initramfs
процесса загрузки. На данный момент корневая файловая система еще не смонтирована, поэтому любые файлы конфигурации, хранящиеся там, не будут видны.
Хотя пространство подкачки монтируется после корневой файловой системы, у процесса инициализации initramfs
есть доступ к пространству подкачки: когда компьютер находится в спящем режиме, содержимое памяти и состояние системы записываются в подкачку. Чтобы выйти из режима гибернации, необходимо проверить, содержит ли пространство подкачки изображение гибернации, для которого потребуется пароль.
Если вы не возражаете потерять возможность возобновить спящий режим, вы можете отключить это поведение, отредактировав /etc/initramfs-tools/conf.d/resume
и закомментировав строку, начинающуюся с RESUME=
. После внесения изменений запустите update-initramfs -u
, чтобы обновить изображение initramfs
.