У меня YubiKey, openSUSE, SDDM, DMS Quickshell, я покажу на этом примере.
Устанавливаем модуль pam u2f.
openSUSE:
sudo zypper install pam_u2f
Arch:
sudo pacman -S pam-u2f
Debian:
sudo apt install libpam-u2f pamu2fcfg
Далее настройка.
Для юзера.
Создаем директорию с конфигом:
mkdir -p ~/.config/Yubico
Создаем ключ:
sudo pamu2fcfg -u username > ~/.config/Yubico/u2f_keys
Где username – имя вашего юзера.
Касаемся ключа.
Проверяем:
ls -la ~/.config/Yubico/u2f_keys && cat ~/.config/Yubico/u2f_keys
Должен быть ваш юзер (не root) – права и содержимое (имя юзера).
Для root.
sudo -i
| |
Касаемся ключа.
Проверяем:
ls -la /root/.config/Yubico/u2f_keys && cat /root/.config/Yubico/u2f_keys
exit
Сводим оба ключа в общий файл и проверяем:
| |
Должно быть два ключа. Выходим из системы и заходим снова. Далее настройка сервисов.
Система.
sudo cp /usr/lib/pam.d/su /etc/pam.d/su
sudo nano /etc/pam.d/su
Добавить:
| |
Выше common-auth, но ниже самого первого auth (если есть). Пара примеров:
| |
Нужно чтобы аппаратный ключ был “sufficient” и стоял выше “common-auth”. Иначе оно будет требовать пароль + ключ.
required. Но в таком случае лучше иметь пару ключей (как обычно), и оба их добавить в систему, иначе если потеряете/сломаете, то все…Проверить:
su
Если ключ подключен, то попросит коснуться ключа. Если же нет, то попросит ввести пароль – или-или.
Повторяете тоже самое для:
su-lsudosddm– ваш Display Manager
В случае чего вернуть назад можно просто удалив файлы, что были скопированы:
sudo sh -c 'cd /etc/pam.d && rm su su-l sudo sddm && ls'
Так же, после обновления ОС, оригинальные файлы могут поменяться (обычно очень не часто), проверить:
| |
После входа в систему по ключу, вас может ожидать неприятность на некотором софте:
Authentication required
- The login keyring did not get unlocked when you logged into your computer
Два самых безопасных решения с точки зрения буквально безопасности:
- Вводить пароль, это все равно один раз после входа в систему
- Отключить аппаратный ключ для DM и вводить пароль как обычно, это все равно один раз на вход в систему
На sudo это никак не повлияет.
Другой вариант это отключение шифрование keyring, не делайте так.
DMS.
В настройках Lock Screen, включаем Enable security key authentication, откроется терминал с выбором аутентификации, выберите что-то, я предпочитаю sudo и ввести пароль. И для удобства, советую включить Show Password Field если выключено. Подробнее здесь и тут.
