第8章 スマートカードを使用した sudo のリモート認証

本セクションでは、スマートカードを使用して sudo にリモートで認証する方法を説明します。ssh-agent サービスがローカルで実行され、ssh-agent ソケットをリモートマシンに転送できるようになると、sudo PAM モジュールの SSH 認証プロトコルを使用してユーザーをリモートで認証できます。

スマートカードを使用してローカルにログインした後、SSH 経由でリモートマシンにログインして、スマートカード認証の SSH 転送を使用してパスワードの入力を要求されずに sudo コマンドを実行できます。

この例では、クライアントは SSH 経由で IPA サーバーに接続され、スマートカードに保存されている認証情報を使用して IPA サーバーで sudo コマンドを実行します。

8.1. IdM での sudo ルールの作成

この手順に従って、IdM で sudo ルールを作成し、リモートホストで sudo を実行する権限を ipauser1 に付与します。

この例では、手順をテストするために、less コマンドと whoami コマンドが sudo コマンドとして追加されます。

前提条件

  • IdM ユーザーが作成されている。この例では、ユーザーは ipauser1 です。
  • sudo をリモートで実行するシステムのホスト名を認識している。この例では、ホストは server.ipa.test です。

手順

  1. adminrule という名前の sudo ルールを作成し、ユーザーがコマンドを実行できるようにします。

    ipa sudorule-add adminrule
  2. sudo コマンドとして less および whoami を追加します。

    ipa sudocmd-add /usr/bin/less
    ipa sudocmd-add /usr/bin/whoami
  3. less および whoami コマンドを adminrule に追加します。

    ipa sudorule-add-allow-command adminrule --sudocmds /usr/bin/less
    ipa sudorule-add-allow-command adminrule --sudocmds /usr/bin/whoami
  4. ipauser1 ユーザーを adminrule に追加します。

    ipa sudorule-add-user adminrule --users ipauser1
  5. sudo を実行しているホストを adminrule に追加します。

    ipa sudorule-add-host adminrule --hosts server.ipa.test

関連情報

  • ipa sudorule-add --help を参照してください。
  • ipa sudocmd-add --help を参照してください。