9.2. SSSD を使用したスマートカード認証のトラブルシューティング
この手順では、スマートカードを使用して SSSD を使用した認証のトラブルシューティングを行う方法を説明します。
前提条件
- スマートカードで使用する IdM サーバーおよびクライアントをインストールして設定している。
-
sssd-tools
パッケージがインストールされている。 - スマートカードリーダーを検出し、スマートカードの内容を表示できる。Testing smart card access on the system を参照してください。
手順
su
を使用して、スマートカードで認証できることを確認します。$ su - idmuser1 -c ‘su - idmuser1 -c whoami’ PIN for MyEID (sctest): idmuser1
スマートカードの PIN の入力を求められず、パスワードプロンプトまたは認証エラーが返された場合は、SSSD ログを確認してください。SSSD でのログインについては、Troubleshooting authentication with SSSD in IdM を参照してください。認証の失敗の例を以下に示します。
$ su - idmuser1 -c ‘su - idmuser1 -c whoami’ PIN for MyEID (sctest): su: Authentication failure
以下のように、SSSD ログが
krb5_child
からの問題を示している場合は、CA 証明書に問題がある可能性があります。証明書に関する問題をトラブルシューティングするには、Verifying that IdM Kerberos KDC can use Pkinit and that the CA certificates are correctly located を参照してください。[Pre-authentication failed: Failed to verify own certificate (depth 0): unable to get local issuer certificate: could not load the shared library]
SSSD ログに
p11_child
またはkrb5_child
からのタイムアウトが示されている場合は、SSSD タイムアウトを増やして、スマートカードでの認証を再試行する必要があります。タイムアウトを増やす方法は、Increasing SSSD timeouts を参照してください。GDM スマートカード認証の設定が正しいことを確認します。PAM 認証の成功メッセージは、以下のように返す必要があります。
# sssctl user-checks -s gdm-smartcard "idmuser1" -a auth user: idmuser1 action: auth service: gdm-smartcard SSSD nss user lookup result: - user name: idmuser1 - user id: 603200210 - group id: 603200210 - gecos: idm user1 - home directory: /home/idmuser1 - shell: /bin/sh SSSD InfoPipe user lookup result: - name: idmuser1 - uidNumber: 603200210 - gidNumber: 603200210 - gecos: idm user1 - homeDirectory: /home/idmuser1 - loginShell: /bin/sh testing pam_authenticate PIN for MyEID (sctest) pam_authenticate for user [idmuser1]: Success PAM Environment: - PKCS11_LOGIN_TOKEN_NAME=MyEID (sctest) - KRB5CCNAME=KCM:
以下のような認証エラーが返された場合は、SSSD ログを確認して、問題の原因を特定します。SSSD でのログインについては、Troubleshooting authentication with SSSD in IdM を参照してください。
pam_authenticate for user [idmuser1]: Authentication failure PAM Environment: - no env -
PAM 認証に失敗したら、キャッシュをクリアしてコマンドを再度実行します。
# sssctl cache-remove SSSD must not be running. Stop SSSD now? (yes/no) [yes] yes Creating backup of local data… Removing cache files… SSSD needs to be running. Start SSSD now? (yes/no) [yes] yes