37.3. Ansible を使用して、Web コンソールで SSH ログイン用のスマートカード認証を設定する


RHEL Web コンソールでユーザーアカウントにログインした後、SSH プロトコルを使用してリモートマシンに接続できます。servicedelegationrule および servicedelegationtarget Ansible モジュールを使用して、制約付き委任機能用に Web コンソールを設定できます。これにより、再度認証を求められることなく SSH 接続が可能になります。

この手順例では、Web コンソールセッションが myhost.idm.example.com ホストで実行され、認証されたユーザーの代わりに SSH を使用して remote.idm.example.com ホストにアクセスするように設定します。

前提条件

  • myhost.idm.example.com で IdM admin Ticket-Granting Ticket (TGT) を取得した。
  • remote.idm.example.com への root アクセス権がある
  • Web コンソールを実行するホストは、IdM ドメインのメンバーです。
  • 次の要件を満たすように Ansible コントロールノードを設定した。

    • ansible-freeipa パッケージがインストールされている。
    • Ansible バージョン 2.14 以降を使用している。
    • この例では、~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイルが作成されていると想定しています。
    • この例では、secret.yml Ansible Vault で管理者パスワードが ipaadmin_password 変数に格納されていことを前提としています。
  • ターゲットノード (ansible-freeipa モジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。

手順

  1. Terminal ページで、Web コンソールがユーザーセッション内に Service for User to Proxy (S4U2proxy) Kerberos チケットを作成したことを確認します。

    $ klist
    …
    Valid starting     Expires            Service principal
    05/20/25 09:19:06 05/21/25 09:19:06 HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
  2. ~/MyPlaybooks/ ディレクトリーに移動します。

    $ cd ~/MyPlaybooks/
  3. 以下の内容で web-console-smart-card-ssh.yml Playbook を作成します。

    1. 委任対象の存在を確認するタスクを作成します。

      ---
      - name: Playbook to create a constrained delegation target
        hosts: ipaserver
      
        vars_files:
        - /home/user_name/MyPlaybooks/secret.yml
        tasks:
        - name: Ensure servicedelegationtarget web-console-delegation-target is present
          ipaservicedelegationtarget:
            ipaadmin_password: "{{ ipaadmin_password }}"
            name: web-console-delegation-target
    2. 対象ホストを委任ターゲットに追加するタスクを追加します。

        - name: Ensure servicedelegationtarget web-console-delegation-target member principal host/remote.idm.example.com@IDM.EXAMPLE.COM is present
          ipaservicedelegationtarget:
            ipaadmin_password: "{{ ipaadmin_password }}"
            name: web-console-delegation-target
            principal: host/remote.idm.example.com@IDM.EXAMPLE.COM
            action: member
    3. 委任ルールの存在を確認するタスクを追加します。

        - name: Ensure servicedelegationrule delegation-rule is present
          ipaservicedelegationrule:
            ipaadmin_password: "{{ ipaadmin_password }}"
            name: web-console-delegation-rule
    4. Web コンソールクライアントサービスの Kerberos プリンシパルが制約付き委任ルールのメンバーであることを確認するタスクを追加します。

        - name: Ensure the Kerberos principal of the web console client service is added to the servicedelegationrule web-console-delegation-rule
          ipaservicedelegationrule:
            ipaadmin_password: "{{ ipaadmin_password }}"
            name: web-console-delegation-rule
            principal: HTTP/myhost.idm.example.com
            action: member
    5. 制約付き委任ルールが web-console-delegation-target 委任対象と関連付けられることを確認するタスクを追加します。

        - name: Ensure a constrained delegation rule is associated with a specific delegation target
          ipaservicedelegationrule:
            ipaadmin_password: "{{ ipaadmin_password }}"
            name: web-console-delegation-rule
            target: web-console-delegation-target
            action: member
  4. ファイルを保存します。
  5. Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。

    $ ansible-playbook --vault-password-file=password_file -v -i inventory web-console-smart-card-ssh.yml
  6. remote.idm.example.com で Kerberos 認証を有効にします。

    1. root として、SSH 経由で remote.idm.example.com に接続します。
    2. /etc/ssh/sshd_config ファイルに GSSAPIAuthentication yes の 設定を追加してください。
  7. 変更をすぐに有効にするには、remote.idm.example.comsshd サービスを再起動します。

    $ systemctl try-restart sshd.service
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る