Red Hat Training

A Red Hat training course is available for RHEL 8

2.5. 非排他的な設定のための sshd システムロールの使用

通常、sshd システムロールを適用すると、設定全体が上書きされます。これは、たとえば別のシステムロールや Playbook などを使用して、以前に設定を調整している場合に問題を生じる可能性があります。他のオプションをそのまま維持しながら、選択した設定オプションのみに sshd システムロールを適用するには、非排他的設定を使用できます。

RHEL 8 以前では、設定スニペットを使用して非排他的設定を適用することができます。

前提条件

  • 制御ノードと管理ノードを準備している
  • 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
  • 管理対象ノードへの接続に使用するアカウントには、そのノードに対する sudo 権限がある。
  • この Playbook を実行する管理対象ノードまたは管理対象ノードのグループが、Ansible インベントリーファイルにリストされている。
  • 別の RHEL システムロールの Playbook。

手順

  1. sshd_config_namespace 変数を含む設定スニペットを Playbook に追加します。

    ---
    - hosts: all
      tasks:
      - name: <Configure SSHD to accept some useful environment variables>
        include_role:
          name: rhel-system-roles.sshd
        vars:
          sshd_config_namespace: <my-application>
          sshd:
            # Environment variables to accept
            AcceptEnv:
              LANG
              LS_COLORS
              EDITOR

    Playbook をインベントリーに適用すると、ロールによって次のスニペットが /etc/ssh/sshd_config ファイルに追加されます (まだ存在しない場合)。

    # BEGIN sshd system role managed block: namespace <my-application>
    Match all
      AcceptEnv LANG LS_COLORS EDITOR
    # END sshd system role managed block: namespace <my-application>

検証

  • オプション: Playbook の構文を確認します。

    # ansible-playbook --syntax-check <playbook.yml>

関連情報

  • /usr/share/doc/rhel-system-roles/sshd/README.md ファイル。
  • ansible-playbook(1) の man ページ。