8.4. ssh 시스템 역할을 사용하여 OpenSSH 클라이언트 구성
ssh
시스템 역할을 사용하여 Ansible 플레이북을 실행하여 여러 SSH 클라이언트를 구성할 수 있습니다.
사전 요구 사항
-
ssh
시스템 역할로 구성하려는 시스템인 하나 이상의 관리형 노드에 대한 액세스 및 권한. Red Hat Ansible Engine이 다른 시스템을 구성하는 시스템인 제어 노드에 대한 액세스 및 권한.
제어 노드에서 다음을 수행합니다.
- Red Hat Ansible Engine이 설치되어 있어야 합니다.
-
rhel-system-roles
패키지가 설치되어 있습니다. - 관리 노드를 나열하는 인벤토리 파일.
절차
다음 내용으로 새
playbook.yml
파일을 생성합니다.--- - hosts: all tasks: - name: "Configure ssh clients" 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: example.com User: user1 ssh_ForwardX11: no
이 플레이북은 다음 구성을 사용하여 관리 노드에서
root
사용자의 SSH 클라이언트 기본 설정을 구성합니다.- 압축이 활성화됩니다.
-
ControlMaster 멀티플렉싱이
auto
로 설정되어 있습니다. -
example
.com 호스트에 연결하는 예제
별칭은user1
입니다. -
예제 호스트 별칭이 생성되어 example
.com
호스트와user1 사용자
이름이 인 에 대한 연결을 나타냅니다. - X11 전달이 비활성화되어 있습니다.
선택적으로 환경 설정에 따라 이러한 변수를 수정할 수 있습니다. 자세한 내용은
ssh
역할 변수를 참조하십시오.선택 사항: 플레이북 구문을 확인합니다.
# ansible-playbook --syntax-check path/custom-playbook.yml
인벤토리 파일에서 플레이북을 실행합니다.
# ansible-playbook -i inventory_file path/custom-playbook.yml
검증
텍스트 편집기에서 SSH 구성 파일을 열어 관리 노드에 올바른 구성이 있는지 확인합니다. 예를 들면 다음과 같습니다.
# vi ~root/.ssh/config
위에 표시된 예제 플레이북의 애플리케이션을 적용한 후에는 구성 파일에 다음 내용이 포함되어야 합니다.
# Ansible managed Compression yes ControlMaster auto ControlPath ~/.ssh/.cm%C ForwardX11 no GSSAPIAuthentication no Host example Hostname example.com User user1