56.2. スマートカードで認証されたユーザーが再度認証を求められることなくリモートホストに SSH 接続できるように Web コンソールを設定する
RHEL Web コンソールでユーザーアカウントにログインすると、SSH プロトコルを使用してリモートマシンに接続できます。制約付き委任機能を使用すると、再度認証を求められることなく SSH
を使用できます。
この手順例では、Web コンソールセッションは myhost.idm.example.com
ホスト上で実行され、認証されたユーザーに代わって SSH を使用して remote.idm.example.com
ホストにアクセスするようにコンソールを設定します。
前提条件
-
IdM
admin
Ticket-Granting Ticket (TGT) を取得している。 -
remote.idm.example.com
へのroot
アクセス権がある。 -
cockpit
サービスが IdM で実行されている。 Web コンソールは、ユーザーセッションに
S4U2Proxy
Kerberos チケットを作成している。確認するには、IdM ユーザーとして Web コンソールにログインし、Terminal
ページを開いて次のように入力します。klist
$ 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
Copy to Clipboard Copied!
手順
委任ルールがアクセスできるターゲットホストのリストを作成します。
サービス委任ターゲットを作成します。
ipa servicedelegationtarget-add cockpit-target
$ ipa servicedelegationtarget-add cockpit-target
Copy to Clipboard Copied! 委任ターゲットに対象ホストを追加します。
ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/remote.idm.example.com@IDM.EXAMPLE.COM
$ ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/remote.idm.example.com@IDM.EXAMPLE.COM
Copy to Clipboard Copied!
サービス委任ルールを作成し、HTTP サービスの Kerberos プリンシパルを追加することで、
cockpit
セッションが対象ホストのリストにアクセスできるようにします。サービス委任ルールを作成します。
ipa servicedelegationrule-add cockpit-delegation
$ ipa servicedelegationrule-add cockpit-delegation
Copy to Clipboard Copied! Web コンソールクライアントを委任ルールに追加します。
ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
$ ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
Copy to Clipboard Copied! 委任ターゲットを委任ルールに追加します。
ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
$ ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
Copy to Clipboard Copied!
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
$ systemctl try-restart sshd.service
Copy to Clipboard Copied!