Как автоматически дешифровать зашифрованную файловую систему при следующей перезагрузке?

Первый был протестирован и, вероятно, наиболее стабилен.

4
задан 19 January 2018 в 13:26

3 ответа

Решение кажется довольно простым и как-то описано в разделе Как настроить LVM & amp; LUKS для автоматического определения раздела?

Вот как мне это удалось

Мой / загрузочный раздел - это / dev / sda1

My / boot partition is / dev / sda1

Я был root, но если вы не добавляете sudo ко всем командам.

Начните с создания ключевого файла с паролем (I генерировать псевдослучайную)

dd if=/dev/urandom of=/boot/keyfile bs=1024 count=4

Затем установить разрешение чтения для root и ничего для кого-либо еще

chmod 0400 /boot/keyfile

Затем добавить ключевой файл в качестве ключа разблокировки

cryptsetup -v luksAddKey /dev/sda3 /boot/keyfile

(вам будет предложено ввести пароль шифрования)

Найти uuid раздела / boot с (для этого не требуется root)

ls -l /dev/disk/by-uuid/

Вот пример того, как выглядит (это не фактический вывод, поскольку я схватил это с другой машины)

test@test:~$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Jan 15 03:36 025c66a2-c683-42c5-b17c-322c2188fe3f -> ../../sda2
lrwxrwxrwx 1 root root 10 Jan 15 03:36 9e7a7336-3b81-4bbe-9f1a-d43415df1ccb -> ../../sda1

Затем отредактируйте / etc / crypttab с вашим любимым редактором

[ f6]

Содержимое будет выглядеть примерно так (опять же, это с другой машины)

sda3_crypt UUID=025c66a2-c683-42c5-b17c-322c2188fe3f none luks,discard

Что вы хотите сделать, вы хотите заменить ни одного на / dev / disk / by- uuid / [uuid of th e / boot partition], и вы хотите заменить discard с помощью keycript = / lib / cryptsetup / scripts / passdev

Результат должен выглядеть примерно так:

sda3_crypt UUID=025c66a2-c683-42c5-b17c-322c2188fe3f /dev/disk/by-uuid/9e7a7336-3b81-4bbe-9f1a-d43415df1ccb luks,keyscript=/lib/cryptsetup/scripts/passdev

Сохраните файл и приступить к обновлению initramfs

update-initramfs -u

Вот и все, теперь вы можете перезагрузиться.

reboot

none

Сначала я подтвердите, что в системе есть только два ключа (исходный и новый ключевой файл)

cryptsetup luksDump /dev/sda3 | grep BLED

Это приведет к генерации вывода, подобного этому

Key Slot 0: ENABLED
Key Slot 1: ENABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

. Чтобы удалить ключ в ключевом слоте 1 (ключевой файл)

cryptsetup luksKillSlot /dev/sda3 1

После этого вам будет предложено ввести пароль шифрования (оригинальный, а не тот, который находится в ключевом файле)

Затем удалите фактический ключевой файл

rm /boot/keyfile

Обновите initramf снова

update-initramfs -u

Теперь при перезагрузке вам снова будет предложено ввести пароль. Вы закончили.

reboot
2
ответ дан 22 May 2018 в 15:31

Решение кажется довольно простым и как-то описано в разделе Как настроить LVM & amp; LUKS для автоматического определения раздела?

Вот как мне это удалось

Мой / загрузочный раздел - это / dev / sda1

My / boot partition is / dev / sda1

Я был root, но если вы не добавляете sudo ко всем командам.

Начните с создания ключевого файла с паролем (I генерировать псевдослучайную)

dd if=/dev/urandom of=/boot/keyfile bs=1024 count=4

Затем установить разрешение чтения для root и ничего для кого-либо еще

chmod 0400 /boot/keyfile

Затем добавить ключевой файл в качестве ключа разблокировки

cryptsetup -v luksAddKey /dev/sda3 /boot/keyfile

(вам будет предложено ввести пароль шифрования)

Найти uuid раздела / boot с (для этого не требуется root)

ls -l /dev/disk/by-uuid/

Вот пример того, как выглядит (это не фактический вывод, поскольку я схватил это с другой машины)

test@test:~$ ls -l /dev/disk/by-uuid/ total 0 lrwxrwxrwx 1 root root 10 Jan 15 03:36 025c66a2-c683-42c5-b17c-322c2188fe3f -> ../../sda2 lrwxrwxrwx 1 root root 10 Jan 15 03:36 9e7a7336-3b81-4bbe-9f1a-d43415df1ccb -> ../../sda1

Затем отредактируйте / etc / crypttab с вашим любимым редактором

nano /etc/crypttab

Содержимое будет выглядеть примерно так (опять же, это с другой машины)

sda3_crypt UUID=025c66a2-c683-42c5-b17c-322c2188fe3f none luks,discard

Что вы хотите сделать, вы хотите заменить ни одного на / dev / disk / by- uuid / [uuid of th e / boot partition], и вы хотите заменить discard с помощью keycript = / lib / cryptsetup / scripts / passdev

Результат должен выглядеть примерно так:

sda3_crypt UUID=025c66a2-c683-42c5-b17c-322c2188fe3f /dev/disk/by-uuid/9e7a7336-3b81-4bbe-9f1a-d43415df1ccb luks,keyscript=/lib/cryptsetup/scripts/passdev

Сохраните файл и приступить к обновлению initramfs

update-initramfs -u

Вот и все, теперь вы можете перезагрузиться.

reboot

none

Сначала я подтвердите, что в системе есть только два ключа (исходный и новый ключевой файл)

cryptsetup luksDump /dev/sda3 | grep BLED

Это приведет к генерации вывода, подобного этому

Key Slot 0: ENABLED Key Slot 1: ENABLED Key Slot 2: DISABLED Key Slot 3: DISABLED Key Slot 4: DISABLED Key Slot 5: DISABLED Key Slot 6: DISABLED Key Slot 7: DISABLED

. Чтобы удалить ключ в ключевом слоте 1 (ключевой файл)

cryptsetup luksKillSlot /dev/sda3 1

После этого вам будет предложено ввести пароль шифрования (оригинальный, а не тот, который находится в ключевом файле)

Затем удалите фактический ключевой файл

rm /boot/keyfile

Обновите initramf снова

update-initramfs -u

Теперь при перезагрузке вам снова будет предложено ввести пароль. Вы закончили.

reboot
3
ответ дан 17 July 2018 в 23:00

Решение кажется довольно простым и как-то описано в разделе Как настроить LVM & amp; LUKS для автоматического определения раздела?

Вот как мне это удалось

Мой / загрузочный раздел - это / dev / sda1

My / boot partition is / dev / sda1

Я был root, но если вы не добавляете sudo ко всем командам.

Начните с создания ключевого файла с паролем (I генерировать псевдослучайную)

dd if=/dev/urandom of=/boot/keyfile bs=1024 count=4

Затем установить разрешение чтения для root и ничего для кого-либо еще

chmod 0400 /boot/keyfile

Затем добавить ключевой файл в качестве ключа разблокировки

cryptsetup -v luksAddKey /dev/sda3 /boot/keyfile

(вам будет предложено ввести пароль шифрования)

Найти uuid раздела / boot с (для этого не требуется root)

ls -l /dev/disk/by-uuid/

Вот пример того, как выглядит (это не фактический вывод, поскольку я схватил это с другой машины)

test@test:~$ ls -l /dev/disk/by-uuid/ total 0 lrwxrwxrwx 1 root root 10 Jan 15 03:36 025c66a2-c683-42c5-b17c-322c2188fe3f -> ../../sda2 lrwxrwxrwx 1 root root 10 Jan 15 03:36 9e7a7336-3b81-4bbe-9f1a-d43415df1ccb -> ../../sda1

Затем отредактируйте / etc / crypttab с вашим любимым редактором

nano /etc/crypttab

Содержимое будет выглядеть примерно так (опять же, это с другой машины)

sda3_crypt UUID=025c66a2-c683-42c5-b17c-322c2188fe3f none luks,discard

Что вы хотите сделать, вы хотите заменить ни одного на / dev / disk / by- uuid / [uuid of th e / boot partition], и вы хотите заменить discard с помощью keycript = / lib / cryptsetup / scripts / passdev

Результат должен выглядеть примерно так:

sda3_crypt UUID=025c66a2-c683-42c5-b17c-322c2188fe3f /dev/disk/by-uuid/9e7a7336-3b81-4bbe-9f1a-d43415df1ccb luks,keyscript=/lib/cryptsetup/scripts/passdev

Сохраните файл и приступить к обновлению initramfs

update-initramfs -u

Вот и все, теперь вы можете перезагрузиться.

reboot

none

Сначала я подтвердите, что в системе есть только два ключа (исходный и новый ключевой файл)

cryptsetup luksDump /dev/sda3 | grep BLED

Это приведет к генерации вывода, подобного этому

Key Slot 0: ENABLED Key Slot 1: ENABLED Key Slot 2: DISABLED Key Slot 3: DISABLED Key Slot 4: DISABLED Key Slot 5: DISABLED Key Slot 6: DISABLED Key Slot 7: DISABLED

. Чтобы удалить ключ в ключевом слоте 1 (ключевой файл)

cryptsetup luksKillSlot /dev/sda3 1

После этого вам будет предложено ввести пароль шифрования (оригинальный, а не тот, который находится в ключевом файле)

Затем удалите фактический ключевой файл

rm /boot/keyfile

Обновите initramf снова

update-initramfs -u

Теперь при перезагрузке вам снова будет предложено ввести пароль. Вы закончили.

reboot
3
ответ дан 24 July 2018 в 13:34

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

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