검색

15장. ssh 및 sshd RHEL 시스템 역할을 사용하여 보안 통신 구성

download PDF

관리자는 sshd 시스템 역할을 사용하여 SSH 서버를 구성하고 ssh 시스템 역할을 사용하여 Ansible Core 패키지를 사용하여 동시에 여러 RHEL 시스템에서 SSH 클라이언트를 일관되게 구성할 수 있습니다.

15.1. SSH Server 시스템 역할 변수

sshd 시스템 역할 플레이북에서는 기본 설정 및 제한 사항에 따라 SSH 구성 파일에 대한 매개변수를 정의할 수 있습니다.

이러한 변수를 구성하지 않으면 System Role은 RHEL 기본값과 일치하는 sshd_config 파일을 생성합니다.

모든 경우에 부울이 sshd 구성에서 yesno로 올바르게 렌더링됩니다. 목록을 사용하여 여러 줄 구성 항목을 정의할 수 있습니다. 예를 들면 다음과 같습니다.

sshd_ListenAddress:
  - 0.0.0.0
  - '::'

다음과 같이 렌더링됩니다.

ListenAddress 0.0.0.0
ListenAddress ::

sshd 시스템 역할의 변수

sshd_enable
false 로 설정하면 역할이 완전히 비활성화됩니다. 기본값은 true 입니다.
sshd_skip_defaults
true 로 설정하면 시스템 역할이 기본값을 적용하지 않습니다. 대신 sshd 사전 또는 sshd_<OptionName > 변수를 사용하여 전체 구성 기본값 세트를 지정합니다. 기본값은 false입니다.
sshd_manage_service
false 로 설정하면 서비스가 관리되지 않으므로 부팅 시 활성화되지 않고 시작 또는 다시 로드되지 않습니다. Ansible service 모듈이 현재 AIX에 대해 활성화되지 않기 때문에 컨테이너 또는 AIX 내부에서 실행되는 경우를 제외하고 기본값은 true 입니다.
sshd_allow_reload
false 로 설정하면 구성이 변경된 후sshd 가 다시 로드되지 않습니다. 이는 문제 해결에 도움이 될 수 있습니다. 변경된 구성을 적용하려면 sshd를 수동으로 다시 로드합니다. 기본값은 AIX를 제외한 sshd_manage_service 와 동일한 값입니다. 여기서 sshd_manage_service 기본값은 false 이지만 sshd_allow_reload 의 기본값은 true 입니다.
sshd_install_service

true 로 설정하면 역할이 sshd 서비스에 대한 서비스 파일을 설치합니다. 이렇게 하면 운영 체제에 제공된 파일이 재정의됩니다. 두 번째 인스턴스를 구성하고 sshd_service 변수도 변경하지 않는 한 true 로 설정하지 마십시오. 기본값은 false입니다.

역할은 다음 변수에서 가리키는 파일을 템플릿으로 사용합니다.

sshd_service_template_service (default: templates/sshd.service.j2)
sshd_service_template_at_service (default: templates/sshd@.service.j2)
sshd_service_template_socket (default: templates/sshd.socket.j2)
sshd_service
이 변수는 두 번째 sshd 서비스 인스턴스를 구성하는 데 유용한 sshd 서비스 이름을 변경합니다.
sshd

구성이 포함된 사전입니다. 예를 들면 다음과 같습니다.

sshd:
  Compression: yes
  ListenAddress:
    - 0.0.0.0

sshd_config(5)sshd 사전의 모든 옵션을 나열합니다.

sshd_<OptionName>

사전 대신 sshd_ 접두사 및 옵션 이름으로 구성된 간단한 변수를 사용하여 옵션을 정의할 수 있습니다. simple 변수는 sshd 사전의 값을 재정의합니다. 예를 들면 다음과 같습니다.

sshd_Compression: no

sshd_config(5)sshd 에 대한 모든 옵션을 나열합니다.

sshd_manage_firewall

기본 포트 22 와 다른 포트를 사용하는 경우 이 변수를 true 로 설정합니다. true 로 설정하면 sshd 역할은 firewall 역할을 사용하여 포트 액세스를 자동으로 관리합니다.

참고

sshd_manage_firewall 변수는 포트만 추가할 수 있습니다. 포트를 제거할 수 없습니다. 포트를 제거하려면 방화벽 시스템 역할을 직접 사용합니다. 방화벽 시스템 역할을 사용하여 포트를 관리하는 방법에 대한 자세한 내용은 시스템 역할을 사용하여 포트 구성을 참조하십시오.

sshd_manage_selinux

기본 포트 22 와 다른 포트를 사용하는 경우 이 변수를 true 로 설정합니다. true 로 설정하면 sshd 역할은 selinux 역할을 사용하여 포트 액세스를 자동으로 관리합니다.

참고

sshd_manage_selinux 변수는 포트만 추가할 수 있습니다. 포트를 제거할 수 없습니다. 포트를 제거하려면 selinux 시스템 역할을 직접 사용합니다.

sshd_matchsshd_match_1sshd_match_9로 재정의
사전 목록 또는 일치 섹션의 사전만 표시합니다. 이러한 변수는 sshd 사전에 정의된 대로 일치 블록을 재정의하지 않습니다. 결과 구성 파일에 모든 소스가 반영됩니다.
sshd_backup
false 로 설정하면 원래 sshd_config 파일이 백업되지 않습니다. 기본값은 true 입니다.

sshd 시스템 역할에 대한 보조 변수

이러한 변수를 사용하여 지원되는 각 플랫폼에 해당하는 기본값을 재정의할 수 있습니다.

sshd_packages
이 변수를 사용하여 설치된 패키지의 기본 목록을 재정의할 수 있습니다.
sshd_config_owner,sshd_config_groupsshd_config_mode
이 역할에서 이러한 변수를 사용하여 생성하는 openssh 구성 파일의 소유권 및 권한을 설정할 수 있습니다.
sshd_config_file
이 역할이 openssh 서버 구성이 생성된 경로입니다.
sshd_config_namespace

이 변수의 기본값은 null입니다. 즉, 역할이 시스템 기본값을 포함하여 구성 파일의 전체 콘텐츠를 정의함을 의미합니다. 또는 이 변수를 사용하여 드롭인 디렉터리를 지원하지 않는 시스템의 단일 플레이북에 있는 다른 역할 또는 여러 위치에서 이 역할을 호출할 수 있습니다. sshd_skip_defaults 변수는 무시되며 이 경우 시스템 기본값이 사용되지 않습니다.

이 변수를 설정하면 역할이 지정된 구성을 지정된 네임스페이스 아래에 기존 구성 파일의 구성 스니펫에 배치합니다. 시나리오에 역할을 여러 번 적용해야 하는 경우 각 애플리케이션에 대해 다른 네임스페이스를 선택해야 합니다.

참고

openssh 구성 파일의 제한 사항은 계속 적용됩니다. 예를 들어 구성 파일에 지정된 첫 번째 옵션만 대부분의 구성 옵션에 적용됩니다.

기술적으로, 역할은 기존 구성 파일의 이전 일치 블록과 관계없이 적용되도록 다른 일치 블록을 포함하지 않는 한 "Match all" 블록에 코드 조각을 배치합니다. 이를 통해 다양한 역할 호출에서 충돌하지 않는 옵션을 구성할 수 있습니다.

sshd_binary
opensshsshd 실행 파일의 경로입니다.
sshd_service
sshd 서비스의 이름입니다. 기본적으로 이 변수에는 대상 플랫폼에서 사용하는 sshd 서비스의 이름이 포함됩니다. 또한 역할에서 sshd_install_service 변수를 사용하는 경우 사용자 지정 sshd 서비스의 이름을 설정할 수도 있습니다.
sshd_verify_hostkeys
기본값은 auto 입니다. auto로 설정하면 생성된 구성 파일에 있는 모든 호스트 키가 나열되고 존재하지 않는 경로가 생성됩니다. 또한 권한 및 파일 소유자는 기본값으로 설정됩니다. 이 기능은 배포 단계에서 역할을 사용하여 첫 번째 시도에서 서비스를 시작할 수 있는지 확인하는 데 유용합니다. 이 확인을 비활성화하려면 이 변수를 빈 목록 []으로 설정합니다.
sshd_hostkey_owner, sshd_hostkey_group, sshd_hostkey_mode
이러한 변수를 사용하여 sshd_verify_hostkeys에서 호스트 키에 대한 소유권 및 권한을 설정합니다.
sshd_sysconfig
RHEL 8 및 이전 버전을 기반으로 하는 시스템에서 이 변수는 sshd 서비스에 대한 추가 세부 정보를 구성합니다. true 로 설정하면 이 역할은 sshd_sysconfig_override_crypto_policysshd_sysconfig_use_strong_rng 변수를 기반으로 /etc/sysconfig/sshd 구성 파일도 관리합니다. 기본값은 false입니다.
sshd_sysconfig_override_crypto_policy

RHEL 8에서 true 로 설정하면 sshd 사전 또는 sshd_<OptionName > 형식에서 다음 구성 옵션을 사용하여 시스템 전체 암호화 정책을 덮어쓸 수 있습니다.

  • 암호화
  • macs
  • GSSAPIKexAlgorithms
  • GSSAPIKeyExchange (FIPS 전용)
  • KexAlgorithms
  • HostKeyAlgorithms
  • PubkeyAcceptedKeyTypes
  • CASignatureAlgorithms

    기본값은 false입니다.

    RHEL 9에서는 이 변수가 적용되지 않습니다. 대신 sshd 사전 또는 sshd_<OptionName > 형식에서 다음 구성 옵션을 사용하여 시스템 전체 암호화 정책을 덮어쓸 수 있습니다.

  • 암호화
  • macs
  • GSSAPIKexAlgorithms
  • GSSAPIKeyExchange (FIPS 전용)
  • KexAlgorithms
  • HostKeyAlgorithms
  • PubkeyAcceptedAlgorithms
  • HostbasedAcceptedAlgorithms
  • CASignatureAlgorithms
  • RequiredRSASize

    sshd_config_file 변수에 정의된 드롭인 디렉터리의 사용자 지정 구성 파일에 이러한 옵션을 입력하면 암호화 정책이 포함된 /etc/ssh/sshd_config.d/50-redhat.conf 파일 앞에 사전 정의된 파일 이름을 사용합니다.

sshd_sysconfig_use_strong_rng
RHEL 8 및 이전 버전을 기반으로 하는 시스템에서 이 변수는 sshd 가 인수로 지정된 바이트 수를 사용하여 openssl 난수 생성기를 다시 만들 수 있습니다. 기본값은 0으로 이 기능을 비활성화합니다. 시스템에 하드웨어 임의 번호 생성기가 없는 경우 이 값을 설정하지 마십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.