Я пытаюсь использовать Yubikey 4 в качестве второго фактора для доступа к LUKS-зашифрованному USB жесткий диск. Вот то, как далеко я добрался:
Я использую yubikey-luks, чтобы добавить, что мой HMAC-SHA1 хешировал пароль к слоту 7 устройства.
Однако я могу использовать ykchalresp
вручную бросить вызов моему Yubikey.
Я думал о записи хешированного пароля в файл и использование его как --key-file
, но это походит на плохую идею, так как у меня будет ключ к моему наложению устройства вокруг.
Сообщите мне, форматирую ли я команду неправильно, или если у Вас есть путь вокруг любой из моих проблем!
я предлагаю, чтобы Вы использовали этот маленький хороший проект: yubikey-full-disk-encryption на GitHub,
Это - набор сценариев к enroll
и open
шифруемое устройство. README.md
документы довольно хорошо, что необходимо сделать. Это также имеет инструкцию установить, автодешифруют с Yubikey на начальной загрузке.
В основном необходимо сделать следующее:
git clone
/download
проект и cd
к его папкеsudo make install
устанавливает проект/etc/ykdfe.con
, в особенности я изменил следующие опции YKFDE_DISK_UUID
(необходимый, можно получить его с командой blkid /dev/sdX
, где /dev/sdX
название Вашего внешнего устройства),YKFDE_LUKS_NAME
(необходимый, хорошее имя luks-<uuid-of-the encrypted-volume>
)YKFDE_CHALLENGE
(дополнительный, но Вам нужен он для включения 2FA),YKFDE_CHALLENGE_SLOT
(дополнительный, по умолчанию это установлено на 1, но помните, что слот 1 содержит конфигурацию для Yubikey OTPYKFDE_CHALLENGE_PASSWORD_NEEDED
, если Вы хотите также ввести свой пароль (так, чтобы Yubikey действовал как аутентификация второго фактора, вместо того, чтобы быть достаточно для разблокирования объема отдельно),Затем можно следовать инструкциям в README.md
чтобы создать Yubikey бросают вызов ответу и добавить его к зашифрованному тому как дополнительный пароль.
В конце я советую Вам делать a make test
это протестирует конфигурацию.
У меня есть свой Yubikey, работающий с зашифрованным циклическим устройством, таким образом, я думаю, что он должен также работать с внешним жестким диском.
Надеюсь, это поможет.
Я сделал именно то, что вы хотели. Как я это сделал, описано ниже. Это правильный путь? Ну ... это обсуждается, но у меня это работает. Надеюсь, это поможет тебе. Кроме того, я не использую Ubuntu, но он должен работать так же в Ubuntu
. Сначала я настраиваю конфигурацию Yubikey, редактируя /etc/ykfde.conf
установите YKFDE_CHALLENGE
на длинную случайную строку, например 40 символов или около того. Неважно, что это такое, просто убедитесь, что оно случайное. Это позволяет мне расшифровать мой диск, не запрашивая секретный пароль. Также установите YKFDE_CHALLENGE_SLOT
на любой слот на вашем Yubikey, который вы хотите использовать. (Убедитесь, что вы настроили свой Yubikey для ответа на запрос HMAC-SHA1 в этом слоте)
Затем я настраиваю свой диск на шифрование с помощью следующих команд:
(предполагается, что вы уже разбили диск на разделы с помощью fdisk или аналогичной утилиты)
# This will ask you for a password. Set a password so that you
# can decrypt the drive without your Yubikey
sudo cryptsetup luksFormat /dev/sda1
# Next, enroll the Yubikey so that it can decrypt it as well
# When required, touch your Yubikey so it can get a challenge-response
# It'll ask for an existing password, just enter the one you set in the last command
sudo ykfde-enroll -d /dev/sda1 -s 1
# Next decrypt the drive and add a file system
# Enter the password you set in the first command
sudo cryptsetup open /dev/sda1 drive
sudo mkfs.ext4 /dev/mapper/drive
После завершения всех настроек я создал файл с именем mountDrive.sh
в моем домашнем каталоге следующим образом:
. /etc/ykfde.conf
ykchalresp -2 "$YKFDE_CHALLENGE" | sudo cryptsetup open /dev/sda1 drive
sudo mount /dev/mapper/drive /run/mount/
Теперь я просто запускаю sh mountDrive.sh
Мой Yubikey мигает, я нажимаю на него, а затем мой диск монтируется в / run / mount
Очевидно, вам нужно будет изменить / dev / sda1
на любое устройство вашего накопителя и замените / run / mount
на то место, где вы хотите смонтировать накопитель.
Кроме того, ykchalresp -2
говорит ему использовать слот 2 на моем Yubikey. Измените это на любой слот, который вы настроили в своем / etc / ykfde.conf
файл
Еще я установил / etc / sudoers
так, чтобы я мог использовать sudo
без необходимости вводить свой пароль. Возможно, есть лучший способ сделать это, не используя sudo
для расшифровки и монтирования вашего диска ... не уверен ... в любом случае, вот как я это настроил:
Добавить % wheel ALL = (ALL) NOPASSWD: ALL
в файл / etc / sudoers
.
Добавьте свою учетную запись в группу wheel
, например:
me=`whoami`; sudo usermod -a -G wheel "$me"