Red Hat Training
A Red Hat training course is available for RHEL 8
35.10. Ansible を使用して、IdM クライアントへの SSH 鍵ログインを有効にする ID ビューを設定する
この手順では、idoverrideuser
ansible-freeipa
モジュールを使用して、IdM ユーザーが特定の SSH 鍵を使用して特定の IdM クライアントにログインできるようにします。この手順では、idm_user という名前の IdM ユーザーが SSH 鍵を使用して host1.idm.example.com という名前の IdM クライアントにログインできるようにする ID ビューの例を使用します。
この ID ビューは、特定の HBAC ルールを強化するために使用できます。
前提条件
コントロールノードでは、
- Ansible バージョン 2.14 以降を使用している。
-
ansible-freeipa
パッケージをインストールしている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成した。
- RHEL 9.4 以降を使用している。
-
secret.yml Ansible vault に
ipaadmin_password
が保存されている。
- idm_user の SSH 公開鍵にアクセスできる。
- idview_for_host1 ID ビューが存在する。
-
ターゲットノード (
ansible-freeipa
モジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
次の内容を含む Ansible Playbook ファイル ensure-idoverrideuser-can-login-with-sshkey.yml を作成します。
--- - name: Playbook to manage idoverrideuser hosts: ipaserver become: false gather_facts: false vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure test user idm_user is present in idview idview_for_host1 with sshpubkey ipaidoverrideuser: ipaadmin_password: ”{{ ipaadmin_password }}" idview: idview_for_host1 anchor: idm_user sshpubkey: - ssh-rsa AAAAB3NzaC1yc2EAAADAQABAAABgQCqmVDpEX5gnSjKuv97Ay ... - name: Ensure idview_for_host1 is applied to host1.idm.example.com ipaidview: ipaadmin_password: ”{{ ipaadmin_password }}" name: idview_for_host1 host: host1.idm.example.com action: member
Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
$ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/inventory <path_to_playbooks_directory>/ensure-idoverrideuser-can-login-with-sshkey.yml
[オプション]
root
の認証情報を持っている場合は、新しい設定を host1.idm.example.com システムにすぐに適用できます。システムに
root
として SSH 接続します。$ ssh root@host1 Password:
SSSD キャッシュを削除します。
root@host1 ~]# sss_cache -E
SSSD デーモンを再起動します。
root@host1 ~]# systemctl restart sssd
検証
公開鍵を使用して host1 に
SSH
接続します。[root@r8server ~]# ssh -i ~/.ssh/id_rsa.pub idm_user@host1.idm.example.com Last login: Sun Jun 21 22:34:25 2023 from 192.168.122.229 [idm_user@host1 ~]$
出力により、正常にログインしたことが確認されます。
関連情報
-
ansible-freeipa
アップストリームドキュメントの idoverrideuser モジュール