Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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

SSSD(System Security Services Daemon) は、OpenSSH を含む複数のシステムサービスにインターフェイスを提供します。
本セクションでは、マシンおよびユーザーの SSH 鍵をキャッシュするように SSSD を設定する方法を説明します。

22.6.1. OpenSSH での SSSD の仕組み

OpenSSH は、SSH プロトコルの実装です。OpenSSH は、認証エンティティーを識別する public-private key pairs に基づいて、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. ホストマシンで接続を確立します。
必要な設定手順については、「ホストキーに SSSD を使用するように OpenSSH の設定」 を参照してください。

SSSD によるユーザーキーの管理方法

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

22.6.2. ホストキーに SSSD を使用するように OpenSSH の設定

ユーザーごとまたはシステム全体で設定を変更できます。
  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. /etc/ssh/sshd_config ファイルを開きます。
  2. AuthorizedKeysCommand オプションを使用して、ユーザーキーを取得するために実行するコマンドを指定します。
  3. AuthorizedKeysCommandUser オプションを使用して、コマンドが実行されるアカウントのユーザーを指定します。
以下の例では、ユーザーアカウントで sss_ssh_authorizedkeys ユーティリティーを実行するように SSH を設定します 。
AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
AuthorizedKeysCommandUser user
sss_ssh_authorizedkeys の詳細は、sss_ssh_authorizedkeys(1) の man ページを参照してください。
SSH の設定および設定ファイルの詳細は、ssh_config(5) の man ページを参照してください。