9.3. ユーザーの公開 SSH 鍵の管理
OpenSSH は、公開鍵と秘密鍵のペア を使用してユーザーを認証します。ユーザーがネットワークリソースにアクセスを試行するときに、このキーペアを提示します。ユーザーの初回認証時には、ターゲットマシンの管理者は、この要求を手動で認証する必要があります。次に、マシンはユーザーの公開鍵を
authorized_keys
ファイルに保存します。ユーザーがリソースに再度アクセスを試みると、マシンは単に authorized_keys
ファイルをチェックして、承認済みのユーザーに自動的にアクセスを許可します。
このシステムには、以下の問題があります。
- SSH 鍵は、環境内の全マシンに手動かつ個別に配布する必要があります。
- 管理者は設定に追加するユーザーキーを許可する必要がありますが、ユーザーまたはキー発行者を適切に検証することが困難であるため、セキュリティー問題が発生する可能性があります。
Red Hat Enterprise Linux では、System Security Services Daemon (SSSD) がユーザーの SSH 鍵をキャッシュして取得するように設定し、アプリケーションやサービスがユーザーキーを 1 カ所で検索できるようにします。SSSD は Identity Management を ID 情報プロバイダーとして使用できるので、Identity Management をキーの汎用かつ集中化リポジトリーとすることができます。このため管理者は、ユーザー SSH 鍵の配布や更新、検証を考慮する必要がありません。
9.3.1. SSH 鍵の形式
キーを IdM エントリーにアップロードする場合には、キーの形式は OpenSSH-style key か生の RFC 4253-style blob にすることができます。RFC 4253-style key は、IdM LDAP サーバーにインポートして保存される前に、自動的に OpenSSH-style key に変換されます。
IdM サーバーは、アップロードされたキーブロブから、RSA または DSA キーといったキーのタイプを識別できます。ただし、
id_rsa.pub
などのキーファイルでは、キーエントリーは先にタイプで、次にキー自体、その後に追加のコメントまたは識別子で識別されます。たとえば、特定のホスト名に関連付けられた RSA 鍵の場合:
"ssh-rsa ABCD1234...== ipaclient.example.com"
キーファイルの 3 要素はすべて、ユーザーエントリーにアップロードして表示できます。または、キーだけをアップロードすることもできます。