32.6. スマートカードユーザーに対するパスワードなしの sudo 認証の有効化

Web コンソールを使用して、スマートカードユーザーに対して sudo およびその他のサービスに対するパスワードなしの認証を設定できます。

別の方法として、Red Hat Identity Management を使用している場合は、最初の Web コンソール証明書認証を sudo、SSH、またはその他のサービスに対する認証で信頼できるものとして宣言することができます。そのために、Web コンソールはユーザーセッションに S4U2Proxy Kerberos チケットを自動的に作成します。

前提条件

手順

  1. チケットがアクセスできるホストをリストアップする制約委譲ルールを設定します。

    例32.1 制約委譲ルールの設定

    Web コンソールセッションはホスト host.example.com で実行されており、sudo を使用して自分のホストにアクセスできるように信頼されている必要があります。さらに、2 つ目の信頼できるホストとして remote.example.com を追加します。

    • 以下の委譲を作成します。

      • 以下のコマンドを実行して、特定のルールがアクセスできるターゲットマシンのリストを追加します。

        # ipa servicedelegationtarget-add cockpit-target
        # ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/host.example.com@EXAMPLE.COM \ --principals=host/remote.example.com@EXAMPLE.COM
      • Web コンソールセッション (HTTP/プリンシパル) がそのホストリストにアクセスできるようにするには、次のコマンドを使用します。

        # ipa servicedelegationrule-add cockpit-delegation
        # ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/host.example.com@EXAMPLE.COM
        # ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
  2. 対応するサービスで GSS 認証を有効にします。

    1. sudo の場合は、/etc/sssd/sssd.conf ファイルで pam_sss_gss モジュールを有効にします。

      1. root で、/etc/sssd/sssd.conf 設定ファイルにドメイン用のエントリーを追加します。

        [domain/example.com]
        pam_gssapi_services = sudo, sudo-i
      2. /etc/pam.d/sudo ファイルの 1 行目でモジュールを有効にします。

        auth sufficient pam_sss_gss.so
    2. SSH の場合、/etc/ssh/sshd_config ファイルの GSSAPIAuthentication オプションを yes に更新します。
警告

委譲された S4U チケットが、Web コンソールからリモートの SSH ホストに接続するときに転送されません。チケットを使用してリモートホストの sudo を認証してもうまくいきません。

検証

  1. スマートカードを使用して Web コンソールにログインします。
  2. Limited access ボタンをクリックします。
  3. スマートカードを使用して認証を行います。

または、次のようになります。

  • 別のホストに SSH で接続を試みます。