36.2. スマートカードで認証されたユーザーが再認証を求められることなくリモートホストに SSH 接続できるように Web コンソールを設定する
RHEL Web コンソールでユーザーアカウントにログインした後、SSH プロトコルを使用してリモートマシンに接続できます。制約付き委譲機能を使用すると、再度認証を求められることなく SSH を使用できます。
この手順例では、Web コンソールセッションが myhost.idm.example.com ホストで実行され、認証されたユーザーの代わりに SSH を使用して、remote.idm.example.com ホストにアクセスするようにコンソールを設定します。
前提条件
-
IdM
adminTicket-Granting Ticket (TGT) を取得している -
remote.idm.example.comへのrootアクセス権がある -
cockpitサービスが IdM で実行している。 Web コンソールは、ユーザーセッションに
S4U2ProxyKerberos チケットを作成している。確認するには、IdM ユーザーとして Web コンソールにログインし、Terminalページを開き、次のように入力します。$ klist Ticket cache: FILE:/run/user/1894000001/cockpit-session-3692.ccache Default principal: user@IDM.EXAMPLE.COM Valid starting Expires Service principal 07/30/21 09:19:06 07/31/21 09:19:06 HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM 07/30/21 09:19:06 07/31/21 09:19:06 krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM for client HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
手順
委任ルールがアクセスできるターゲットホストのリストを作成します。
サービス委任ターゲットを作成します。
$ ipa servicedelegationtarget-add cockpit-target委任対象に対象ホストを追加します。
$ ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/remote.idm.example.com@IDM.EXAMPLE.COM
サービス委任ルールを作成し、HTTP サービスの Kerberos プリンシパルを追加することで、
cockpitセッションがターゲットホストリストにアクセスできるようにします。サービス委任ルールを作成します。
$ ipa servicedelegationrule-add cockpit-delegationWeb コンソールクライアントを委任ルールに追加します。
$ ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM委任対象を委任ルールに追加します。
$ ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
remote.idm.example.com ホストで Kerberos 認証を有効にします。
-
rootとして、SSH 経由で remote.idm.example.com に接続します。 -
/etc/ssh/sshd_configファイルを開いて編集します。 -
GSSAPIAuthentication no行のコメントを外し、GSSAPIAuthentication yesに置き換えて、GSSAPIAuthenticationを有効にします。
-
変更をすぐに有効にするには、remote.idm.example.com で
sshdサービスを再起動します。$ systemctl try-restart sshd.service