9.2. SSSD を使用したスマートカード認証のトラブルシューティング

スマートカードを使用した SSSD での認証のトラブルシューティングを行うには、次の手順に従います。

前提条件

  • スマートカードで使用する IdM サーバーおよびクライアントをインストールして設定している。
  • sssd-tools パッケージがインストールされている。
  • スマートカードリーダーを検出し、スマートカードの内容を表示できる。Testing smart card access on the system を参照してください。

手順

  1. su を使用して、スマートカードで認証できることを確認します。

    $ su - idmuser1 -c ‘su - idmuser1 -c whoami’
    PIN for MyEID (sctest):
    idmuser1

    スマートカードの PIN の入力を求められず、パスワードプロンプトまたは認証エラーが返された場合は、SSSD ログを確認してください。SSSD でのログインの詳細は、IdM で SSSD を使用した認証のトラブルシューティング を参照してください。認証の失敗の例を以下に示します。

    $ 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 を参照してください。

  2. 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 でのログインの詳細は、IdM で SSSD を使用した認証のトラブルシューティング を参照してください。

    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