12.5. 非排他的な設定のための sshd システムロールの使用
通常、sshd
システムロールを適用すると、設定全体が上書きされます。これは、たとえば別のシステムロールや Playbook などを使用して、以前に設定を調整している場合に問題が発生する可能性があります。他のオプションをそのまま維持しながら、選択した設定オプションのみに sshd
システムロールを適用するには、非排他的設定を使用できます。
RHEL 8 以前では、設定スニペットを使用して非排他的設定を適用することができます。詳細は、RHEL 9 ドキュメントの Using the SSH Server System Role for non-exclusive configuration を参照してください。
RHEL 9 では、ドロップインディレクトリーのファイルを使用して、非排他的設定を適用することができます。デフォルトの設定ファイルは、/etc/ssh/sshd_config.d/00-ansible_system_role.conf
としてドロップインディレクトリーにすでに配置されています。
前提条件
-
1 つ以上の 管理対象ノード (
sshd
システムロールで設定するシステム) へのアクセスおよびパーミッション。 コントロールノード (このシステムから Red Hat Ansible Core は他のシステムを設定) へのアクセスおよびパーミッション。
コントロールノードでは、
-
ansible-core
パッケージがインストールされている。 - 管理対象ノードが記載されているインベントリーファイルがある。
- 別の RHEL システムロールの Playbook。
-
手順
sshd_config_file
変数を含む設定スニペットを Playbook に追加します。--- - hosts: all tasks: - name: <Configure sshd to accept some useful environment variables> include_role: name: rhel-system-roles.sshd vars: sshd_config_file: /etc/ssh/sshd_config.d/<42-my-application>.conf sshd: # Environment variables to accept AcceptEnv: LANG LS_COLORS EDITOR
sshd_config_file
変数で、sshd
システムロールが設定オプションを書き込む.conf
ファイルを定義します。設定ファイルが適用される順序を指定するには、2 桁の接頭辞 (例:
42-
) を使用します。Playbook をインベントリーに適用すると、ロールは
sshd_config_file
変数で定義されるファイルに次の設定オプションを追加します。# Ansible managed # AcceptEnv LANG LS_COLORS EDITOR
検証
オプション:Playbook の構文を確認します。
# ansible-playbook --syntax-check playbook.yml -i inventory_file
関連情報
-
/usr/share/doc/rhel-system-roles/sshd/README.md
ファイル。 -
ansible-playbook(1)
man ページ。