LINUX.ORG.RU
ФорумAdmin

lunks с ключем на floppy, в чем беда?


0

0

пытаюсь сделать зашифрованый корень в RHEL5.3, причем ключ хранить на дискете (тренируюсь в vmware - образ дискеты, в реальном деле этот же образ будет подсовываться через iLO)
делаю новый ключ:
dd if=/dev/urandom of=/dev/fd0 bs=1024 count=1
добавляю его к шифрованному разделу:
cryptsetup luksAddKey /dev/sdb /dev/fd0

дальше переделываю initrd на предмет использования дискеты:
mkdir initrd
cd initrd
zcat /boot/initrd-2.6.18-128.el5.img | cpio -i --make-directories
vi init
add line:
cryptsetup luksOpen /dev/sdb luks-845e574d-823b-4996-a397-a402bccaee88 --key-file /dev/fd0
findall() { echo nash-find "$@" | /sbin/nash --force --quiet; }
findall . | cpio --quiet -c -o > /tmp/inird.cpio
gzip -9 /tmp/inird.cpio
mv /tmp/inird.cpio.gz /boot/initrd-2.6.18-128.el5.img

и оно почему-то ключ с первого раза не прожевывает, пришет:
Warning: exhausting read requested, but key file is not a regular file, function might never return.
Command failed: No key available with this passphrase.

хотя если второй раз выполнить cryptsetup то все проходит нормально, в чем дело-то? Собственно насколько я понял дело, конечно же, не в initrd - из шела срабатывает тоже только со второго раза.

★★★★★

Не знаю ничего про шифрование разделов, но подозреваю что проблема в том, что размер блочного девайса нельзя просто так определить как у обычного файла.

>> dd if=/dev/urandom of=/dev/fd0 bs=1024 count=1

Если я правильно понял, то тут и создаётся ключ. А как cryptsetup узнает что он длинной именно 1024 байта, а не 1456?

>> Warning: exhausting read requested, but key file is not a regular file, function might never return.

Собсно о чём он и говорит. Наверное надо либо сделать обычный файл с ключём, либо как-то указывать точный размер ключа, т. е. сколько байт он должен читать...

P.S. Это было ИМХО человека не знакомого с сабжевой темой.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.