22.6. SSSD が OpenSSH サービス用にキャッシュを提供するように設定する方法

System Security Services Daemon (SSSD) は、OpenSSH など複数のシステムサービスへのインターフェースを提供します。詳細は、『「システムレベルの認証ガイド」』の「SSSD による認証情報の使用とキャッシング」を参照してください。
以下のセクションでは、SSSD がマシンとユーザーの SSH 鍵をキャッシュするように設定する方法を説明します。

22.6.1. SSSD と OpenSSH との連携方法

OpenSSH は SSH プロトコルの実装です。OpenSSH は、認証エンティティーを特定する 公開鍵と秘密鍵のペア をもとに、2 つのシステム間でセキュアな暗号化接続を構築します。詳細は、『システム管理者のガイド』の「OpenSSH」 を参照してください。
SSSD は、マシンやユーザーの SSH 公開鍵の認証情報キャッシュとして機能します。この設定では、
  1. OpenSSH は、SSSD を参照してキャッシュされた鍵があるかを確認するように設定されます。
  2. SSSD は Identity Management (IdM) ドメインを使用し、IdM は公開鍵とホストの情報を保存します。

注記

IdM ドメインの Linux マシンのみが OpenSSH の鍵のキャッシュとして SSSD を使用できます。Windows などの他のマシンはできません。

SSSD のホスト鍵の管理方法

SSSD は以下を実行してホスト鍵を管理します。
  1. ホストシステムから公開ホスト鍵を取得します。
  2. /var/lib/sss/pubconf/known_hosts ファイルにホスト鍵を保存します。
  3. ホストマシンとの接続を確率します。
必要な設定手順の詳細は、「OpenSSH がホスト鍵に SSSD を使用するように設定する手順」を参照してください。

SSSD のユーザー鍵の管理方法

SSSD は以下を実行してユーザー鍵を管理します。
  1. IdM ドメインのユーザーエントリーからユーザーの公開鍵を取得します。
  2. ユーザー鍵を標準の認証鍵形式でカスタムファイル .ssh/sss_authorized_keys に保存します。
必要な設定手順の詳細は、「ユーザー鍵に SSSD を使用するための OpenSSH 設定」を参照してください。

22.6.2. OpenSSH がホスト鍵に SSSD を使用するように設定する手順

システム全体またはユーザー毎の設定を変更することができます。
  1. 必要な設定ファイルを開きます。
    1. ユーザー固有の設定を変更するには、~/.ssh/config ファイルを開きます。
    2. システム全体の設定を変更するには /etc/ssh/sshd_config ファイルを開きます。
  2. ProxyCommand オプションを使用して、どのコマンドを使用して SSH クライアント (sss_ssh_knownhostsproxy ユーティリティーで必要な引数とホスト名を指定) に接続するかを指定します。
    sss_ssh_knownhostsproxy の詳細は、sss_ssh_knownhostsproxy(1) の man ページを参照してください。
  3. GlobalKnownHostsFile オプションを使用して、SSSD ホストファイル /var/lib/sss/pubconf/known_hosts の場所を指定します。このファイルは、デフォルトの OpenSSH known_hosts ファイルの代わりに使用します。
以下の例では、SSH が SSSD ドメインで公開鍵を検索して、指定のポートとホストに接続するように設定します。
ProxyCommand /usr/bin/sss_ssh_knownhostsproxy -p %p %h
GlobalKnownHostsFile /var/lib/sss/pubconf/known_hosts
SSH の設定や設定ファイルの詳細は、ssh_config(5) man ページを参照してください。

22.6.3. ユーザー鍵に SSSD を使用するための OpenSSH 設定

システム全体またはユーザー毎の設定を変更することができます。
  1. 必要な設定ファイルを開きます。
    1. ユーザー固有の設定を変更するには、~/.ssh/config ファイルを開きます。
    2. システム全体の設定を変更するには /etc/ssh/sshd_config ファイルを開きます。
  2. AuthorizedKeysCommand オプション使用して、ユーザー鍵を取得するために実行するコマンドを指定します。
  3. AuthorizedKeysCommandUser オプションを使用して、コマンドを実行するユーザーアカウントを指定します。
以下の例では、SSH が user アカウントで sss_ssh_authorizedkeys ユーティリティー実行するように設定します。
AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
AuthorizedKeysCommandUser user
sss_ssh_authorizedkeys の詳細は、sss_ssh_authorizedkeys(1) の man ページを参照してください。
SSH の設定や設定ファイルの詳細は、ssh_config(5) man ページを参照してください。