Вход в систему с помощью PAM#

(Nitrokey Storage 2 - Linux)

Как настроить вход в систему#

У вас есть два варианта: pam_p11 или Poldi.

Решение с pam_p11 более сложное и основано на сертификатах S/MIME. Пожалуйста, ознакомьтесь с документацией ` <https://opensc.github.io/pam_pkcs11/doc/pam_pkcs11.html>`__ для получения дополнительной информации.

Poldi 0.4.1 безупречно работает с Nitrokey для аутентификации PAM с ключами RSA (информацию о ключах ECC см. в разделе Устранение неполадок). Помимо установки poldi (например, sudo apt-get install libpam-poldi на Ubuntu) для его работы необходимы следующие шаги.

Необходимо, чтобы на Nitrokey уже были сгенерированы ключи, поскольку ключ аутентификации используется PAM.

  1. Сначала вам нужно узнать «ID приложения» вашего Nitrokey. Вы можете использовать gpg --card-status | grep Application, чтобы узнать свой. Это похоже на D00600012401020000000000xxxxxxxx или что-то похожее.

  2. Теперь вам нужно добавить строку в /etc/poldi/localdb/users, которая содержит следующую информацию

    <YourApplicationID> <YourUsername>

    Это может выглядеть как „D00600012401020000000000xxxxxxx nitrokeyuser“. Теперь сбросьте открытый ключ из Nitrokey в локальную базу данных poldi:

sudo sh -c 'gpg-connect-agent "/datafile /etc/poldi/localdb/keys/<YourApplicationID>" "SCD READKEY --advanced OPENPGP.3" /bye'`

Пожалуйста, имейте в виду, что в строке выше вы должны вставить ID вашей заявки вместе с ID вашей палочки!

Затем вам нужно настроить PAM. Просто добавьте «auth sufficient pam_poldi.so» в конфигурационные файлы pam в соответствии с вашими потребностями:

  • /etc/pam.d/common-auth для графического входа пользователей в систему

  • /etc/pam.d/login для входа в консоль

  • /etc/pam.d/sudo для аутентификации sudo

  • /etc/pam.d/gnome-screensaver для возврата входа в систему с заблокированного экрана,

  • и т.д.

Примечание

С Pam опасно играть, поэтому убедитесь, что у вас есть способ получить доступ к машине, если вы полностью нарушите аутентификацию. Помните, что для загрузки в режим спасения из Grub требуется пароль root, поэтому держите его или live CD, который может читать ваши файловые системы, под рукой.

Здесь вы найдете ` дальнейшие инструкции <https://wiki.ubuntuusers.de/Archiv/Authentifizierung_OpenPGP_SmartCard>`__ (на немецком языке, частично устаревшие).

Устранение неполадок#

Если вы получите ошибку, подобную „ERR 100663414 Invalid ID <SCD>“, вам следует попробовать вместо этого

poldi-ctrl -k > <YourApplicationID>; sudo mv <YourApplicationID> /etc/poldi/localdb/keys`

Пожалуйста, имейте в виду, что в строке выше вы должны вставить ID вашей заявки вместе с ID вашей палочки!

Ключи ECC#

К сожалению, у poldi пока нет поддержки ключей ECC. Но есть патч для ключей ECC, используемых с Nitrokey Start. Это уже включено в мастер-ветку репозитория разработки poldi и, следовательно, со временем будет выпущено в новой версии. А пока единственным вариантом является сборка poldi из исходников.