22.5. ユーザーの公開 SSH 鍵の管理
Identity Management を使用すると、公開 SSH キーをユーザーエントリーにアップロードできます。対応する SSH 鍵にアクセスできるユーザーは、
ssh を使用して Kerberos 認証情報を使用せずに IdM マシン にログインすることができます。Pam_krb5 が正しく設定されている場合や、SSSD が IdM サーバーのアイデンティティープロバイダーとして使用されている場合は、ユーザーはログイン後に Kerberos チケット保証チケット (TGT) も受け取ります。詳細は、「Kerberos チケットの自動取得」 を参照してください。
SSH 秘密鍵ファイルが利用できない場合でも、ユーザーは Kerberos 認証情報を提供して認証できることに注意してください。
SSH キーの自動キャッシュおよび取得
IdM サーバーまたはクライアントのインストール時に、SSSD は、ユーザーおよびホストの SSH 鍵をキャッシュし、取得するようにマシンに自動的に設定されます。これにより、IdM は SSH 鍵の汎用および集中化されたリポジトリーとして機能できます。
サーバーまたはクライアントがインストール時に設定されていない場合は、マシンで SSSD を手動で設定できます。その方法は、「OpenSSH サービスのキャッシュを提供するように SSSD を設定」 を参照してください。SSSD による SSH 鍵のキャッシュには、ローカルマシンでの管理権限が必要です。
SSH キーの形式要件
IdM では、以下の 2 つの SSH 鍵形式を使用できます。
id_rsa.pub などのキーファイルは、キータイプ、キー自体、追加のコメントまたは識別子の 3 つの部分で設定されます。以下の例では、キータイプは RSA で、コメントは鍵を client.example.com のホスト名に関連付けます。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMM4xPu54Kf2dx7C4Ta2F7vnIzuL1i6P21TTKniSkjFuA+r qW06588e7v14Im4VejwnNk352gp49A62qSVOzp8IKA9xdtyRmHYCTUvmkcyspZvFRI713zfRKQVFyJOqHmW/m dCmak7QBxYou2ELSPhH3pe8MYTQIulKDSu5Zbsrqedg1VGkSJxf7mDnCSPNWWzAY9AFB9Lmd2m2xZmNgVAQEQ nZXNMaIlroLD/51rmMSkJGHGb1O68kEq9Z client.example.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMM4xPu54Kf2dx7C4Ta2F7vnIzuL1i6P21TTKniSkjFuA+r
qW06588e7v14Im4VejwnNk352gp49A62qSVOzp8IKA9xdtyRmHYCTUvmkcyspZvFRI713zfRKQVFyJOqHmW/m
dCmak7QBxYou2ELSPhH3pe8MYTQIulKDSu5Zbsrqedg1VGkSJxf7mDnCSPNWWzAY9AFB9Lmd2m2xZmNgVAQEQ
nZXNMaIlroLD/51rmMSkJGHGb1O68kEq9Z client.example.com
キーを IdM にアップロードする場合は、3 つのキーの部分すべてをアップロードするか、キー自体のみをアップロードします。キー自体をアップロードした場合、IdM は、アップロードした鍵から RSA や DSA などの鍵タイプを自動的に識別します。
22.5.1. SSH キーの生成 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
SSH キーは、OpenSSH の
ssh-keygen ユーティリティーを使用して生成できます。このユーティリティーは、公開鍵の場所に関する情報を表示します。以下に例を示します。
ユーザーの SSH キーをアップロードするには、表示されるファイルに保存されている公開鍵文字列を使用します。
22.5.2. ユーザーの SSH 鍵のアップロード リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
22.5.2.1. Web UI: ユーザーの SSH 鍵のアップロード リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
を選択します。 - 編集するユーザー名をクリックします。
- Account Settings エリアの Settings タブで、SSH public keys: Add をクリックします。
図22.9 アカウント設定の SSH 公開鍵
- Base 64 でエンコードされた公開鍵文字列に貼り付け、 をクリックします。
図22.10 公開鍵での貼り付け
- ページ上部にある Save をクリックします。
22.5.2.2. コマンドライン: ユーザーの SSH 鍵のアップロード リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Ipa user-mod コマンドを使用して、
--sshpubkey オプションを使用して Base 64 でエンコードされた公開鍵文字列を渡します。
たとえば、キータイプ、キー自体、およびホスト名識別子をアップロードするには、次のコマンドを実行します。
ipa user-mod user --sshpubkey="ssh-rsa AAAAB3Nza...SNc5dv== client.example.com"
$ ipa user-mod user --sshpubkey="ssh-rsa AAAAB3Nza...SNc5dv== client.example.com"
複数のキーをアップロードするには、
--sshpubkey を複数回使用します。たとえば、SSH 鍵を 2 つアップロードするには、次のコマンドを実行します。
--sshpubkey="AAAAB3Nza...SNc5dv==" --sshpubkey="RjlzYQo...ZEt0TAo="
--sshpubkey="AAAAB3Nza...SNc5dv==" --sshpubkey="RjlzYQo...ZEt0TAo="
注記
キー文字列をコマンドラインに手動で貼り付ける代わりに、コマンドリダイレクトを使用して、キーを含むファイルを参照することができます。以下に例を示します。
ipa user-mod user --sshpubkey="$(cat ~/.ssh/id_rsa.pub)" --sshpubkey="$(cat ~/.ssh/id_rsa2.pub)"
$ ipa user-mod user --sshpubkey="$(cat ~/.ssh/id_rsa.pub)" --sshpubkey="$(cat ~/.ssh/id_rsa2.pub)"
22.5.3. ユーザーキーの削除 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
SSH キーを削除するには、以下を実行します。
- Web UI の使用については、「Web UI: ユーザーの SSH キーの削除」を参照してください。
- コマンドラインの使用方法については、「コマンドライン: ユーザーの SSH キーの削除」を参照してください。
22.5.3.1. Web UI: ユーザーの SSH キーの削除 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
を選択します。 - 編集するユーザー名をクリックします。
- Account Settings エリアの Settings タブで、削除するキーの横にある Delete をクリックします。
図22.11 ユーザー SSH 公開鍵の削除
- ページ上部にある Save をクリックします。
22.5.3.2. コマンドライン: ユーザーの SSH キーの削除 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ユーザーアカウントに割り当てられたすべての SSH キーを削除するには、キーを指定せずに
--sshpubkey オプションを ipa user-mod コマンドに追加します。
ipa user-mod user --sshpubkey=
$ ipa user-mod user --sshpubkey=
特定の SSH キーまたはキーのみを削除する場合は、
--sshpubkey オプションを使用して、保持するキーまたはキーを指定します。
注記
このコマンドは、キャッシュから SSH 鍵をすぐに削除しません。デフォルトのキャッシュタイムアウト値 (
entry_cache_timeout = 5400) では、キーが 1 時間半の間キャッシュに残ります。