Я только что купил NFC Yubikey 5 и настроил его согласно их инструкциям в Ubuntu 19.04. Но я предпочитаю использовать ключ в качестве опции без пароля (если он подключен; разрешить доступ - если нет; ввести пароль).
Я нашел некоторые темы по этому здесь и здесь , но оба они не для Yubikey или не для Ubuntu. И я слишком неопытен с этими вещами, чтобы слепо возиться с настройками, так как есть большая вероятность, что меня навсегда заблокируют, если я сделаю что-то не так.
Итак, я знаю, что Yubikey 5 поддерживает вход без пароля для Windows, я полагаю, что он должен быть как-то доступен в Ubuntu, верно? У кого-нибудь есть совет для меня?
Вы правы быть взволнованными по поводу блокирования себя. Если Ваш корневой каталог будет зашифрован, и Вы сохраняете авторизацию Двухфакторной аутентификации, отображающую файл там, то Вы не сможете войти в систему! Вот почему я всегда использую центральный authfile (/etc/u2f_mappings
).
Я предлагаю создать вторую учетную запись при тестировании, таким образом, Вы не блокируете себя из своей основной учетной записи. Кроме того, обязательно получите секунду 2FA ключ и зарегистрируйте его как резервное копирование в случае, если Вы теряете первый.
Хотя необходимо быть осторожными, процесс легок и прост. Для создания этого еще легче я записал это так, можно просто вырезать и вставить следующие команды в терминал:
sudo -i
apt install libpam-u2f
pamu2fcfg | tee /etc/u2f_mappings
# (На данном этапе нажмите кнопку. Необходимо видеть длинную строку чисел. Если Вы не делаете, удостоверьтесь, что Вы имеете udev
установите правильно.)
cd /etc/pam.d
echo 'auth sufficient pam_u2f.so authfile=/etc/u2f_mappings cue' > common-u2f
for f in gdm-password lightdm sudo login; do
mv $f $f~
awk '/@include common-auth/ {print "@include common-u2f"}; {print}' $f~ > $f
done
exit
При входе в систему Вам предложат коснуться Вашего устройства, если оно будет обнаружено Иначе, то Вас попросят ввести в пароле.
Мы используем термин "достаточный" выше так, чтобы или пароль или ключ U2F были достаточны для входа в систему (согласно просьбе в вопросе). Для более типичного входа в систему Двухфакторной аутентификации, "достаточного", был бы заменен словом, "требуемым" так, чтобы оба всегда были необходимы.
u2f строка в pam.d файлах должна прибыть прежде @include common-auth
, иначе Вы будете обязаны вводить в пароле, прежде чем ключ U2F будет проверен.
Я был бы небрежен, если бы я не указал, что с помощью "2FA" ключ таким образом, в то время как удобный, не увеличивает безопасность. На самом деле Вы только открыли второй способ войти в Вашу учетную запись. Но, это не обязательно плохо; не всем нужна высокая безопасность, и аппаратный ключ как это может сохранить Вас от наличия легкого, чтобы ввести, закоротить, и уязвимый пароль.
Между прочим, эти инструкции не только для устройств от Yubico. Я использую ключ от Solokeys, и он работает отлично. Кроме того, установка работает и на USB и на ключи NFC.
При необходимости в большей информации инструкции Yubico — как упомянуто в исходном вопросе — довольно информативны. Кроме того, см. страницы справочника для pam_u2f
и pamu2fcfg
.
Я знаю, что это было здесь какое-то время, но я хотел вмешаться, чтобы убедиться, что это закончено. Чтобы, если кто-то другой придет, он знает, как заставить его работать.
Я действительно хочу сказать, что это потрясающе, я искал это некоторое время, наткнулся на это несколько дней назад и не видел другого способа сделать это, кроме этого. Я уверен, что это где-то там.
Единственное, что я считаю упущенным, это ...
pamu2fcfg
выводит в файл / etc / u2f_mappings
через pamu2fcfg | tee / etc / u2f_mappings
под текущим пользователем, которым в данном случае является root. Если вы пытаетесь использовать его для другого пользователя, кроме root, это не сработает.
В этом случае файл необходимо обновить, чтобы отразить правильное имя пользователя.
sudo nano / etc / u2f_mappings
Измените root
в строке на желаемое имя пользователя.
Итак, от чего-то вроде root: xxxxxxx .....
до USERNAMEHERE: xxxxxxxx .....
или как там будет имя пользователя.
ИЛИ
Другой, возможно, лучший способ приблизиться к этому - это
изменить pamu2fcfg | tee / etc / u2f_mappings
-
pamu2fcfg -u ИМЯ ПОЛЬЗОВАТЕЛЯ | tee / etc / u2f_mappings
или измените его на
pamu2fcfg -u ИМЯ ПОЛЬЗОВАТЕЛЯ >> / etc / u2f_mappings
, где ИМЯ ПОЛЬЗОВАТЕЛЯ - это имя пользователя, который будет его использовать. С помощью >>
он создает или добавляет в конец файла, что позволяет нескольким пользователям.
Я собираюсь вытащить большую часть этого и несколько других элементов с других страниц и поместить их в git, чтобы не потерять это в бездне Интернета. Это не полностью настроено, но вот ссылка https://github.com/vanderblugen/yubico_password_less_ubuntu . Если я смогу отметить тебя там, напиши мне сообщение, и я сделаю это.
Эта часть заняла у меня некоторое время. Каждый пользователь в файле должен быть в отдельной строке. Если несколько ключей для одного пользователя, поместите :
между каждым из ключей.