...
Для остановки сервиса pcscd введите команду:
Panel |
---|
$ sudo service pcscd stop |
Настройка системы
Перед началом работы, установите следующие пакеты:
Panel |
---|
sudo yum install ccid opensc pam_pkcs11 gdm-plugin-smartcard p11-kit |
Загрузите модуль librtpkcs11ecp.so и установите
Panel |
---|
sudo rpm -i librtpkcs11ecp_1.9.15.0-1_x86_64.rpm |
Создание ключей и сертификатов
...
Вы можете пропустить данный раздел, если у вас уже имеются необходимые RSA ключи
Panel |
---|
pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 45 |
Теперь создайте самоподписанный сертификат:
Panel |
---|
openssl |
Поместите его на токен
Panel |
---|
pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so -l -y cert -w cert.crt --id 45 |
Проверьте, что токен подключен и сертификаты с ключами на нем имеются.
Добавление сертификата в список доверенных
Panel |
---|
pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so -O -l |
Создайте базу данных доверенных сертификатов
Panel |
---|
sudo mkdir /etc/pam_pkcs11/nssdb |
Выгрузите ваш сертификат с токена (если вы пользовались вышеописанной инструкцией для получения сертификата, то ID = 45)
Panel |
---|
pkcs11-tool --module=/usr/lib64/librtpkcs11ecp.so -l -r -y cert -d <ID> -o cert.crt |
Добавьте сертификат в доверенные
Panel |
---|
sudo cp cert.crt /etc/pki/ca-trust/source/anchors/ (команда вводится из директории, в которую был помещён сертификат) |
Настройка pam_pkcs11
Создайте (например, на рабочем столе) текстовый файл pam_pkcs11.conf со следующим содержимым:
Panel |
---|
pam_pkcs11 { |
Поместите файл в каталог /etc/pam_pkcs11/:
Panel |
---|
cd /etc/pam_pkcs11/ |
Регистрация модуля для аутентификации в системе
Подключите модуль к системе авторизации PAM:
Panel |
---|
sudo vim /etc/pam.d/system-auth |
Добавьте туда строку со следующим содержимым:
Panel |
---|
auth sufficient pam_pkcs11.so |
Сохраните файл и узнайте описание вашего сертификата с помощью следующей команды:
Panel |
---|
sudo pkcs11_inspect |
На выходе вы увидите сообщение:
...
Попробуйте аутентифицироваться
Panel |
---|
su oleg |
Вывод будет примерно следующим:
...