1.8.4. ssh RHEL 시스템 역할을 사용하여 OpenSSH 클라이언트 구성
ssh RHEL 시스템 역할을 사용하여 여러 OpenSSH 클라이언트를 구성할 수 있습니다.
OpenSSH 클라이언트는 로컬 사용자가 이름으로 원격 OpenSSH 서버로 보안 연결을 설정할 수 있도록 합니다.
- 보안 연결 시작
- 인증 정보 프로비저닝
- 보안 통신 채널에 사용되는 암호화 방법의 OpenSSH 서버와의 협상
- OpenSSH 서버로 파일을 안전하게 보낼 수 있는 기능
SSH 구성을 변경하는 다른 시스템 역할과 함께 ssh RHEL 시스템 역할을 사용할 수 있습니다(예: Red Hat Enterprise Linux RHEL 시스템 역할의 Identity Management). 구성을 덮어쓰지 않도록 하려면 ssh RHEL 시스템 역할에 드롭인 디렉터리(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: redhat.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예제 플레이북에 지정된 설정은 다음과 같습니다.
ssh_user: root-
특정 구성 관련 정보를 사용하여 관리 노드에서
root사용자의 SSH 클라이언트 기본 설정을 구성합니다. 압축: true- 압축이 활성화됩니다.
ControlMaster: auto-
ControlMaster 멀티플렉싱이
auto로 설정되어 있습니다. 호스트-
user1이라는 사용자로server.호스트에 연결하기 위한 별칭 예제를 생성합니다.example.com ssh_ForwardX11: no- X11 전달이 비활성화되어 있습니다.
플레이북에 사용된 역할 변수 및 OpenSSH 구성 옵션에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.ssh/README.md파일 및ssh_config(5)매뉴얼 페이지를 참조하십시오.플레이북 구문을 확인합니다.
$ ansible-playbook --syntax-check ~/playbook.yml이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
$ 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