15.6. ssh 시스템 역할을 사용하여 OpenSSH 클라이언트 구성
ssh
시스템 역할을 사용하여 Ansible 플레이북을 실행하여 여러 SSH 클라이언트를 구성할 수 있습니다.
SSH 및 SSHD 구성을 변경하는 다른 시스템 역할(예: ID 관리 RHEL 시스템 역할)에 ssh
시스템 역할을 사용할 수 있습니다. 구성을 덮어쓰지 않도록 하려면 ssh
역할에 드롭인 디렉터리(RHEL 8 이상에서 기본값)를 사용해야 합니다.
사전 요구 사항
- 제어 노드와 관리형 노드가 준비되었습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리형 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.--- - name: SSH client configuration hosts: managed-node-01.example.com tasks: - name: "Configure ssh clients" ansible.builtin.include_role: name: rhel-system-roles.ssh vars: ssh_user: root ssh: Compression: true GSSAPIAuthentication: no ControlMaster: auto ControlPath: ~/.ssh/.cm%C Host: - Condition: example Hostname: server.example.com User: user1 ssh_ForwardX11: no
이 플레이북은 다음 구성을 사용하여 관리 노드에서
root
사용자의 SSH 클라이언트 기본 설정을 구성합니다.- 압축이 활성화됩니다.
-
ControlMaster 멀티플렉싱이
auto
로 설정되어 있습니다. -
server.
호스트에 연결하는 예제 별칭은example
.comuser1
입니다. -
예제
호스트 별칭이 생성되며, 이 별칭은user1
사용자 이름으로 을 호스팅하는server.example.com
에 대한 연결을 나타냅니다. - X11 전달이 비활성화되어 있습니다.
플레이북 구문을 확인합니다.
$ ansible-playbook --syntax-check ~/playbook.yml
이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
$ ansible-playbook ~/playbook.yml
검증
SSH 구성 파일을 표시하여 관리 노드에 올바른 구성이 있는지 확인합니다.
# cat ~root/.ssh/config # Ansible managed Compression yes ControlMaster auto ControlPath ~/.ssh/.cm%C ForwardX11 no GSSAPIAuthentication no Host example Hostname example.com User user1
추가 리소스
-
/usr/share/ansible/roles/rhel-system-roles.ssh/README.md
파일 -
/usr/share/doc/rhel-system-roles/ssh/
디렉터리