Требуется ключом расположенным на флешке расшифровывать root раздел при загрузке.
нашёл простой гайд:
https://gist.github.com/martijnvermaat/2726386
http://www.cheshirekow.com/wordpress/?p=810
http://proc.fsckwits.com/2010/05/ubuntu-encrypted-lvms-and-keyfile-on.html
Пишут в комментах, что они работают, но у меня не взлетает.
п.с. пробовал разные скрипты и гайды, ошибки одни. И действия там одни и те же.
Что сделал:
настроил lvm, шифрование по паролю, в шифрованном разделе создал root и swap, boot отдельно не шифрованный.
Всё работает, но нужно каждый раз вводить пароль.
Создал ключ, добавил его в контейнер, расположил на юсб флешке. Отредактировал crypttab. Создал скрипт для отправки ключа с флешки в стдаут(или вроде того)). Обновил образ.
На проверку зашифровал /tmp, всё работает, в boot.log видно что расшифровка происходит уже после монтирования root. С root разделом это не работает, хотя гайд как раз для этого случая и написан.
/etc/crypttab
sda5_crypt UUID=*** none luks,keyscript=/sbin/keyscript
/sbin/keyscript
#!/bin/sh
modprobe usb-storage
sleep 5
mkdir /keydev 1>&2
mount -t ext4 -o ro /dev/disk/by-uuid/d58009e6-a694-47b6-a9ca-6a4ada8383a8 /keydev 1>&2
cat /keydev/key
umount /keydev 1>&2
Вываливаются ошибки wrong syntax #!/bin/sh и ещё что-то(под рукой лога нет)
Кодировку менял, не помогло. Думаю не подгружаются системные переменные поэтому ошибки и вываливаются, но знаний не хватает для решения проблемы.
П.с.с пробовал разные дистрибутивы, дебиан, минт, убунту. Везде одно.
Помогите познать безопасность 256 битного аеs. Или ткните в рабочий гайд или скрипт.