Я недавно установил сервер человечности 11.04 с полным lvm шифрованием (установленный от установки). Я хочу теперь использовать файл ключей, чтобы сделать автоматический, разблокировали. Я попытался следовать этому руководству http://ubuntuforums.org/showthread.php?t=837416
Я генерировал ключ с этой командой: sudo dd if=/dev/urandom of=/boot/grub/keyfile bs=1024 count=4
я загнал его в /boot/grub
потому что я думаю, что это не шифруется. Когда я пытаюсь добавить ключ с этим commad sudo cryptsetup luksAddKey /dev/sdX /boot/grub/keyfile
это просит у меня пароль и когда я поместил его, ничего не происходит, ничто не печатается на экран! Я игнорирую его и продолжаю, другие ступают и перезагрузка, но ничего не произошло, и это просит пароль.
Спасибо за справку.
Я только что был через это на моем новом домашнем сервере, потребовался большой поиск с помощью Google и предположение, но у меня есть он работа. Я попытаюсь воспроизвести шаги здесь. Я использую Сервер Ubuntu 11.10 и запустился с зашифрованного LVM использования в значительной степени стандартной установки, таким образом, я просто свяжу изменения, я сделал оттуда.
Установка:
Во-первых, я создал файл ключей, только в моем корневом каталоге:
dd if=/dev/urandom of=keyfile bs=512 count=4
(можно использовать больший blocksize или значить больший ключ),
Скажите cryptsetup новый ключ (это - содержание, которое важно, не имя файла):
sudo cryptsetup luksAddKey /dev/sda5 keyfile
Затем я отформатировал свою карту флэш-памяти с интерфейсом USB с ext2 и дал ему маркировку. Я использовал маркировку, так, чтобы позже я мог смонтировать его маркировкой и заменить карту флэш-памяти с интерфейсом USB в случае, если что-то идет не так, как надо с ним.
sudo mkfs -t ext2 /dev/sdc1
sudo e2label /dev/sdc1 KEYS
(конечно, Ваше устройство будет варьироваться),
Теперь, скопируйте файл ключей в карту флэш-памяти с интерфейсом USB, принадлежавшую корневому режиму 400:
mkdir KEYS
sudo mount /dev/sdc1 KEYS
sudo cp keyfile KEYS
sudo chown root KEYS/keyfile
sudo chmod 400 KEYS/keyfile
Измените/etc/crypttab. Мой первоначально содержал
sd5_crypt UUID=(...) none luks
на который я изменился
sd5_crypt UUID=(...) /dev/disk/by-label/KEYS:/keyfile luks,keyscript=/lib/cryptsetup/scripts/passdev
Наконец, обновите initramfs:
sudo update-initramfs -uv
Это теперь загружает использование файла ключей на карте флэш-памяти с интерфейсом USB. Если я удаляю флеш-накопитель (скажите, когда я уезжаю в отпуск), он не загружается, и мои данные безопасны.
Если кто-либо знает, как заставить это просить пароль, если бы карта флэш-памяти с интерфейсом USB отсутствует, который был бы удобен как нейтрализация. Надежда, которой это помогает, любые дополнения или исправления, была бы больше, чем приветствие!
Эти инструкции из howtoforge.com разбудили меня и работающий с автоматически дешифрующим объемом.
sudo dd if=/dev/urandom of=/root/keyfile bs=1024 count=4
sudo chmod 0400 /root/keyfile
Это сделает файл ключей читаемым только корнем. Если кто-то получает доступ к этому файлу ключей, то у Вас есть большая проблема на Вашем компьютере так или иначе.
Кроме того, показанный Ваш желаемый файл ключей root:root и перемещению это в / корневую папку
Включенные устройства LUKS/dm_crypt могут содержать до 10 различных файлов ключей/паролей. Так, рядом с наличием уже устанавливают пароль, мы собираемся добавить этот файл ключей как дополнительный метод авторизации.
sudo cryptsetup luksAddKey /dev/sdX /root/keyfile
sdX является, конечно, Вашим устройством LUKS.
Сначала Вам предложат ввести (существующий) пароль для разблокирования диска. Если все работает хорошо, необходимо получить вывод как это:
Enter any LUKS passphrase:
key slot 0 unlocked.
Command successful.
Устройства LUKS должны создать картопостроитель, на который можно затем сослаться в fstab. Открытый/etc/crypttab
sudo nano /etc/crypttab
и добавьте затем строку как это:
sdX_crypt /dev/sdX /root/keyfile luks
или можно использовать UUID устройства:
sdX_crypt /dev/disk/by-uuid/247ad289-dbe5-4419-9965-e3cd30f0b080 /root/keyfile luks
sdX_crypt является названием картопостроителя, который создается. Можно использовать здесь любое имя, например, "музыку" или "фильмы" или "sfdsfawe"....
Сохраните и закройте файл путем издания ctrl-x, войдите, войдите. Ctrl-x закрывает нано, но сначала он просит сохранить файл [да =, входят] и чем имя должно быть [то же имя = входит].
Что мы сделали там, на самом деле говорит, что/root/keyfile должен использоваться вместо ввода пароля для разблокирования диска.
Теперь, у нас есть разблокированное устройство (хорошо, еще но когда система загружается), и мы просто должны смонтировать его теперь. Открытый/etc/fstab:
sudo nano /etc/fstab
и добавьте новую запись как:
/dev/mapper/sdX_crypt /media/sdX ext3 defaults 0 2
Удостоверьтесь, что у Вас есть корректное имя картопостроителя, которое Вы добавили на шаге 4. Также удостоверьтесь, что точка монтирования / папка существует. Добавив это, сохраните снова файл и закройте его (ctrl-x, войдите, войдите).
Именно. Теперь можно перезагрузить, и дополнительные устройства должны быть авторазблокированы и смонтированы. Можно также протестировать его путем перемонтирования всех устройств:
sudo mount -a
При улучшении ответа Randy Orrison вот маленький сценарий, который я создал, который сделает системную нейтрализацию к выяснению у пользователя для пароля, если это не найдет файл ключей.
#!/bin/sh
ask_for_password () {
cryptkey="Unlocking the disk $cryptsource ($crypttarget)\nEnter passphrase: "
if [ -x /bin/plymouth ] && plymouth --ping; then
cryptkeyscript="plymouth ask-for-password --prompt"
cryptkey=$(printf "$cryptkey")
else
cryptkeyscript="/lib/cryptsetup/askpass"
fi
$cryptkeyscript "$cryptkey"
}
device=$(echo $1 | cut -d: -f1)
filepath=$(echo $1 | cut -d: -f2)
# Ask for password if device doesn't exist
if [ ! -b $device ]; then
ask_for_password
exit
fi
mkdir /tmp/auto_unlocker
mount $device /tmp/auto_unlocker
# Again ask for password if device exist but file doesn't exist
if [ ! -e /tmp/auto_unlocker$filepath ]; then
ask_for_password
else
cat /tmp/auto_unlocker$filepath
fi
umount /tmp/auto_unlocker
Сохраните его и замена keyscript=/lib/cryptsetup/scripts/passdev
в /etc/crypttab
с путем к этому файлу и выполненный sudo update-initramfs -uv
и Вы сделаны.
@deitch я имел ту же установку как @Randy Orrison и столкнулся с той же проблемой как Вы, и это складывается, ошибка systemd, который пытается смонтироваться / файловая система снова, поскольку это находит соответствующую запись в/etc/crypttab.
Для разрешения этого, я просто удалил запись для sda5_crypt от/etc/crypttab однажды обновление-initramfs - ультрафиолетовая команда была, работал.
Reeboot и все хорошо работают, как предназначено.