Я искал помощь по этому вопросу в Интернете, и, похоже, я один из немногих, у кого возникла такая проблема.
Недавно я загрузил свежую копию Kali Linux ARM для Raspberry Pi 3 Model B+ и хочу настроить ее как портативную хакерскую станцию с внешним зашифрованным носителем (зашифрованным с помощью LUKS), который будет автоматически разблокирован при загрузке. Я настроил /etc/fstab
и /etc/crypttab
для правильной разблокировки и монтирования моих зашифрованных разделов соответственно (используя файл ключа).
Я заметил, что этот процесс постоянно терпел неудачу при загрузке, выдавая ошибку «невозможно выделить память» при разблокировке диска через /etc/crypttab
. После дополнительных исследований и тестирования я обнаружил, что проблема была только в самом Raspberry Pi, потому что я мог использовать тот же самый файл ключа, чтобы вручную разблокировать диск на моем ноутбуке: cryptsetup luksOpen --key-file /root/keyfile /dev/sdb1 sdb1_crypt
. Когда я попробовал эту же команду на Raspberry Pi, он ждал несколько секунд (так же, как и на моем ноутбуке, хотя для разблокировки диска требовалось время) и завершался с успешным кодом ошибки. Однако диск не разблокировался, и запуск lsblk
все равно показывал заблокированный диск (он также не отображался в /dev/mapper/sdb1_crypt
), тогда как диск был успешно разблокирован при выполнении на моем ноутбуке. luksRemoveKey
Команда также не работала на Raspberry Pi. Я не пробовал каждую cryptsetup
команду, но я убежден, что это не единственные, которые не работают. Тем не менее, я все еще мог использовать свой пароль (слот ключа 0, а файл ключа был слотом ключа 1) для разблокировки диска на обоих устройствах: cryptsetup luksOpen /dev/sdb1 sdb1_crypt
.
Я предполагаю, что проблема в ядре, и у меня нет навыков, чтобы исправить это. Я думал о том, чтобы разместить это на форумах Kali Linux, но я надеялся, что у кого-то еще может быть та же проблема на другой ОС, которую они исправили.
Заранее спасибо, любая помощь будет оценена по достоинству.
решение1
Я провел небольшое исследование предупреждений, cryptsetup
связанных с памятью, и обнаружил,эта почтаот @rscottbailey.
Оказывается, cryptsetup выбирает некоторые параметры, которые фактически масштабируются на основе производительности вашей текущей системы (в попытке достичь некоего более-менее постоянного уровня «жесткости»?) — то, что хорошо работает для Core i7, слишком сложно для моего Raspberry Pi.
Поскольку на устройстве еще не было данных, которые я не мог бы восстановить, моим обходным путем было повторить операцию форматирования на rpi 3. Это дало мне нечто, пригодное для использования на обеих системах.
После переформатирования моего диска и создания нового раздела LUKS с моего Raspberry Pi 3 Model B+ ошибки перестали возникать. Всем остальным, кто хочет создать зашифрованный раздел LUKS на любом внешнем/портативном диске, я предлагаю вам зашифровать его с помощью самого медленного/самого маломощного устройства, которое у вас есть.