Логин без пароля с помощью Yubikey 5 NFC

Я только что купил NFC Yubikey 5 и настроил его согласно их инструкциям в Ubuntu 19.04. Но я предпочитаю использовать ключ в качестве опции без пароля (если он подключен; разрешить доступ - если нет; ввести пароль).

Я нашел некоторые темы по этому здесь и здесь , но оба они не для Yubikey или не для Ubuntu. И я слишком неопытен с этими вещами, чтобы слепо возиться с настройками, так как есть большая вероятность, что меня навсегда заблокируют, если я сделаю что-то не так.

Итак, я знаю, что Yubikey 5 поддерживает вход без пароля для Windows, я полагаю, что он должен быть как-то доступен в Ubuntu, верно? У кого-нибудь есть совет для меня?

1
задан 22 August 2019 в 17:41

2 ответа

Вы правы быть взволнованными по поводу блокирования себя. Если Ваш корневой каталог будет зашифрован, и Вы сохраняете авторизацию Двухфакторной аутентификации, отображающую файл там, то Вы не сможете войти в систему! Вот почему я всегда использую центральный authfile (/etc/u2f_mappings).

Я предлагаю создать вторую учетную запись при тестировании, таким образом, Вы не блокируете себя из своей основной учетной записи. Кроме того, обязательно получите секунду 2FA ключ и зарегистрируйте его как резервное копирование в случае, если Вы теряете первый.

Как включить вход в систему без пароля

Хотя необходимо быть осторожными, процесс легок и прост. Для создания этого еще легче я записал это так, можно просто вырезать и вставить следующие команды в терминал:

  1. sudo -i
  2. apt install libpam-u2f
  3. pamu2fcfg | tee /etc/u2f_mappings

    # (На данном этапе нажмите кнопку. Необходимо видеть длинную строку чисел. Если Вы не делаете, удостоверьтесь, что Вы имеете udev установите правильно.)

  4. cd /etc/pam.d

  5. echo 'auth sufficient pam_u2f.so authfile=/etc/u2f_mappings cue' > common-u2f

  6. for f in gdm-password lightdm sudo login; do

    mv $f $f~

    awk '/@include common-auth/ {print "@include common-u2f"}; {print}' $f~ > $f

    done

  7. exit

Примечания

  • При входе в систему Вам предложат коснуться Вашего устройства, если оно будет обнаружено Иначе, то Вас попросят ввести в пароле.

  • Мы используем термин "достаточный" выше так, чтобы или пароль или ключ U2F были достаточны для входа в систему (согласно просьбе в вопросе). Для более типичного входа в систему Двухфакторной аутентификации, "достаточного", был бы заменен словом, "требуемым" так, чтобы оба всегда были необходимы.

  • u2f строка в pam.d файлах должна прибыть прежде @include common-auth, иначе Вы будете обязаны вводить в пароле, прежде чем ключ U2F будет проверен.

  • Я был бы небрежен, если бы я не указал, что с помощью "2FA" ключ таким образом, в то время как удобный, не увеличивает безопасность. На самом деле Вы только открыли второй способ войти в Вашу учетную запись. Но, это не обязательно плохо; не всем нужна высокая безопасность, и аппаратный ключ как это может сохранить Вас от наличия легкого, чтобы ввести, закоротить, и уязвимый пароль.

И настолько больше!

Между прочим, эти инструкции не только для устройств от Yubico. Я использую ключ от Solokeys, и он работает отлично. Кроме того, установка работает и на USB и на ключи NFC.

При необходимости в большей информации инструкции Yubico — как упомянуто в исходном вопросе — довольно информативны. Кроме того, см. страницы справочника для pam_u2f и pamu2fcfg.

1
ответ дан 7 December 2019 в 14:59

Я знаю, что это было здесь какое-то время, но я хотел вмешаться, чтобы убедиться, что это закончено. Чтобы, если кто-то другой придет, он знает, как заставить его работать.

Я действительно хочу сказать, что это потрясающе, я искал это некоторое время, наткнулся на это несколько дней назад и не видел другого способа сделать это, кроме этого. Я уверен, что это где-то там.

Единственное, что я считаю упущенным, это ...

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 . Если я смогу отметить тебя там, напиши мне сообщение, и я сделаю это.

Эта часть заняла у меня некоторое время. Каждый пользователь в файле должен быть в отдельной строке. Если несколько ключей для одного пользователя, поместите : между каждым из ключей.

2
ответ дан 17 January 2020 в 00:20

Другие вопросы по тегам:

Похожие вопросы: