1.8.5. 비독점 구성에 sshd RHEL 시스템 역할 사용
기본적으로 sshd RHEL 시스템 역할을 적용하면 전체 구성을 덮어씁니다. 이전에 다른 플레이북으로 구성을 조정한 경우 문제가 있을 수 있습니다. 포함되지 않은 구성을 사용하여 선택한 구성 옵션에만 변경 사항을 적용할 수 있습니다.
포함되지 않은 구성을 적용할 수 있습니다.
- 구성 스니펫을 사용하여 RHEL 8 및 이전 버전에서.
-
드롭인 디렉터리에서 파일을 사용하여 RHEL 9 이상에서 다음을 수행합니다. 기본 구성 파일은 드롭인 디렉터리에 이미
/etc/ssh/sshd_config.d/00-ansible_system_role.conf로 배치되어 있습니다.
사전 요구 사항
- 컨트롤 노드와 관리형 노드를 준비했습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는 이러한 노드에 대한
sudo권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.RHEL 8 이상을 실행하는 관리형 노드의 경우:
--- - name: Non-exclusive sshd configuration hosts: managed-node-01.example.com tasks: - name: Configure SSHD to accept environment variables ansible.builtin.include_role: name: redhat.rhel_system_roles.sshd vars: sshd_config_namespace: <my-application> sshd_config: # Environment variables to accept AcceptEnv: LANG LS_COLORS EDITORRHEL 9 이상을 실행하는 관리형 노드의 경우:
- name: Non-exclusive sshd configuration hosts: managed-node-01.example.com tasks: - name: Configure sshd to accept environment variables ansible.builtin.include_role: name: redhat.rhel_system_roles.sshd vars: sshd_config_file: /etc/ssh/sshd_config.d/<42-my-application>.conf sshd_config: # Environment variables to accept AcceptEnv: LANG LS_COLORS EDITOR예제 플레이북에 지정된 설정에는 다음이 포함됩니다.
sshd_config_namespace: <my-application>- 역할은 플레이북에 지정하는 구성을 지정된 네임스페이스 아래에 있는 기존 구성 파일의 구성 스니펫에 배치합니다. 다른 컨텍스트에서 역할을 실행할 때 다른 네임스페이스를 선택해야 합니다.
sshd_config_file: /etc/ssh/sshd_config.d/<42-my-application>.conf-
sshd_config_file변수에서sshd시스템 역할이 구성 옵션을 쓰는.conf파일을 정의합니다. 두 자리 접두사(예:42-)를 사용하여 구성 파일을 적용할 순서를 지정합니다. AcceptEnv:OpenSSH 서버(
sshd)가 클라이언트에서 허용할 환경 변수를 제어합니다.-
LANG: 언어 및 로케일 설정을 정의합니다. -
LS_COLORS: 터미널에서ls명령에 대한 표시 색상 체계를 정의합니다. -
EDITOR: 편집기를 열어야 하는 명령줄 프로그램의 기본 텍스트 편집기를 지정합니다.
-
플레이북에 사용된 역할 변수 및 OpenSSH 구성 옵션에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.sshd/README.md파일 및sshd_config(5)매뉴얼 페이지를 참조하십시오.
플레이북 구문을 확인합니다.
$ ansible-playbook --syntax-check ~/playbook.yml이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
$ ansible-playbook ~/playbook.yml
검증
SSH 서버의 구성을 확인합니다.
RHEL 8 이상을 실행하는 관리형 노드의 경우:
# cat /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>RHEL 9 이상을 실행하는 관리형 노드의 경우:
# cat /etc/ssh/sshd_config.d/42-my-application.conf # Ansible managed # AcceptEnv LANG LS_COLORS EDITOR