остановите crypttab, спрашивая пароль для подкачки

Я установил новую систему 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 все еще просит пароль.

Спасибо!

9
задан 17 May 2011 в 19:14

2 ответа

Имел тот же вопрос, вот то, как я сделал это на человечности 12.04.1 и 12.10,

- перед запуском удостоверяются, что Вы имеете резервное копирование и можете также загрузить Вашу систему с CD человечности или usb; как будто Вы делаете ошибку, Ваша система не может больше загружаться, или Вы можете данные потерь. я предполагаю, что у Вас есть зашифрованная система человечности с LUKS в LUKS, у Вас есть 3 раздела, НАЧАЛЬНАЯ ЗАГРУЗКА СИСТЕМЫ (не зашифрованный), (зашифрованная) СИСТЕМНАЯ ПОДКАЧКА и (зашифрованная) системная ОС-

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 - a resume=/dev/mapper/hda2_crypt в командной строке ядра

Можно осмотреть /usr/share/initramfs-tools/hooks/cryptroot если Вы хотите знать больше об этом.

10
ответ дан 17 May 2011 в 19:14

Это, вероятно, указывает на то, что доступ к разделу подкачки осуществляется во время части initramfs процесса загрузки. На данный момент корневая файловая система еще не смонтирована, поэтому любые файлы конфигурации, хранящиеся там, не будут видны.

Хотя пространство подкачки монтируется после корневой файловой системы, у процесса инициализации initramfs есть доступ к пространству подкачки: когда компьютер находится в спящем режиме, содержимое памяти и состояние системы записываются в подкачку. Чтобы выйти из режима гибернации, необходимо проверить, содержит ли пространство подкачки изображение гибернации, для которого потребуется пароль.

Если вы не возражаете потерять возможность возобновить спящий режим, вы можете отключить это поведение, отредактировав /etc/initramfs-tools/conf.d/resume и закомментировав строку, начинающуюся с RESUME=. После внесения изменений запустите update-initramfs -u, чтобы обновить изображение initramfs.

0
ответ дан 17 May 2011 в 19:14

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

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