Red Hat Enterprise Linux 가상 머신을 Microsoft Entra Domain Services 관리되는 도메인에 조인

사용자가 단일 자격 증명 집합을 사용하여 Azure의 VM(가상 머신)에 로그인할 수 있도록 하려면 VM을 Microsoft Entra Domain Services 관리되는 도메인에 조인하면 됩니다. 도메인 서비스 관리되는 도메인에 VM을 조인하면 도메인의 사용자 계정과 자격 증명을 사용하여 서버에 로그인하고 관리할 수 있습니다. VM의 파일 또는 서비스에 대한 액세스를 제어할 수 있도록 관리되는 도메인의 그룹 멤버 자격도 적용됩니다.

이 문서에서는 RHEL(Red Hat Enterprise Linux) VM을 관리되는 도메인에 가입하는 방법을 보여줍니다.

필수 조건

이 자습서를 완료하는 데 필요한 리소스와 권한은 다음과 같습니다.

RHEL Linux VM 만들기 및 연결

Azure에 기존 RHEL Linux VM이 있는 경우 Secure Shell을 사용하여 연결한 후 다음 단계로 계속 진행하여 VM 구성을 시작합니다.

RHEL Linux VM을 만들거나 이 문서에서 사용할 테스트 VM을 만들려면 다음 방법 중 하나를 사용할 수 있습니다:

VM을 만들 때 가상 네트워크 설정에 주의하여 VM이 관리되는 도메인과 통신할 수 있는지 확인합니다.

  • Microsoft Entra Domain Services를 사용하도록 설정한 것과 동일하거나 피어링된 가상 네트워크에 VM을 배포합니다.
  • Microsoft Entra Domain Services 관리형 도메인과 다른 서브넷에 VM을 배포합니다.

VM이 배포되면 단계에 따라 SSH를 사용하여 VM에 연결합니다.

hosts 파일 구성

VM 호스트 이름이 관리되는 도메인에 올바르게 구성되었는지 확인하려면 /etc/hosts 파일을 편집하고 호스트 이름을 설정합니다.

sudo vi /etc/hosts

hosts 파일에서 localhost 주소를 업데이트합니다. 다음 예제에서

  • aaddscontoso.com은 관리되는 도메인의 DNS 도메인 이름입니다.
  • rhel은 관리되는 도메인에 가입하는 RHEL VM의 호스트 이름입니다.

해당 이름을 고유한 값으로 업데이트합니다.

127.0.0.1 rhel rhel.aaddscontoso.com

완료되면 편집기의 :wq 명령을 사용하여 hosts 파일을 저장한 후 종료합니다.

Important

Red Hat Enterprise Linux 6.X 및 Oracle Linux 6.x는 이미 EOL임을 고려해야 합니다. RHEL 6.10은 2024년 6월에 종료 예정ELS 지원이 제공됩니다.

필요한 패키지를 설치합니다.

VM을 관리되는 도메인에 조인하려면 VM에 몇 가지 추가 패키지가 필요합니다. 해당 패키지를 설치하고 구성하려면 yum을 사용하여 도메인 가입 도구를 업데이트 하고 설치해야 합니다.

sudo yum install adcli sssd authconfig krb5-workstation

VM을 관리되는 도메인에 조인

이제 필수 패키지가 VM에 설치되었으므로 VM을 관리되는 도메인에 조인합니다.

  1. adcli info 명령을 사용하여 관리되는 도메인을 검색합니다. 다음 예제에서는 보안영역 ADDDSCONTOSO.COM을 검색합니다. 관리되는 도메인 이름을 모두 대문자로 지정합니다.

    sudo adcli info aaddscontoso.com
    

    adcli info 명령에서 관리되는 도메인을 찾을 수 없는 경우 다음의 문제 해결 단계를 검토합니다.

    • VM에서 도메인에 연결할 수 있는지 확인합니다. ping aaddscontoso.com을 시도하여 긍정적인 응답이 반환되는지 확인합니다.
    • VM이 관리되는 도메인을 사용할 수 있는 것과 동일하거나 피어링한 가상 네트워크에 배포되었는지 확인합니다.
    • 가상 네트워크의 DNS 서버 설정이 관리되는 도메인의 도메인 컨트롤러를 가리키도록 업데이트되었는지 확인합니다.
  2. 먼저 adcli join 명령을 사용하여 도메인에 가입합니다. 해당 명령은 컴퓨터를 인증하는 Keytab도 만듭니다. 관리되는 도메인의 일부인 사용자 계정을 사용합니다.

    sudo adcli join aaddscontoso.com -U contosoadmin
    
  3. 이제 /ect/krb5.conf을 구성하고 aaddscontoso.com Active Directory 도메인을 사용하도록 /etc/sssd/sssd.conf 파일을 만듭니다. AADDSCONTOSO.COM이 사용자의 도메인 이름으로 바뀌었는지 확인합니다:

    편집기를 사용하여 /etc/krb5.conf 파일을 엽니다:

    sudo vi /etc/krb5.conf
    

    다음 샘플과 일치하도록 krb5.conf 파일을 업데이트합니다:

    [logging]
     default = FILE:/var/log/krb5libs.log
     kdc = FILE:/var/log/krb5kdc.log
     admin_server = FILE:/var/log/kadmind.log
    
    [libdefaults]
     default_realm = AADDSCONTOSO.COM
     dns_lookup_realm = true
     dns_lookup_kdc = true
     ticket_lifetime = 24h
     renew_lifetime = 7d
     forwardable = true
    
    [realms]
     AADDSCONTOSO.COM = {
     kdc = AADDSCONTOSO.COM
     admin_server = AADDSCONTOSO.COM
     }
    
    [domain_realm]
     .AADDSCONTOSO.COM = AADDSCONTOSO.COM
     AADDSCONTOSO.COM = AADDSCONTOSO.COM
    

    /etc/sssd/sssd.conf 파일을 만듭니다:

    sudo vi /etc/sssd/sssd.conf
    

    다음 샘플과 일치하도록 sssd.conf 파일을 업데이트합니다:

    [sssd]
     services = nss, pam, ssh, autofs
     config_file_version = 2
     domains = AADDSCONTOSO.COM
    
    [domain/AADDSCONTOSO.COM]
    
     id_provider = ad
    
  4. /etc/sssd/sssd.conf의 사용 권한이 600이고 루트 사용자가 소유하는지 확인합니다:

    sudo chmod 600 /etc/sssd/sssd.conf
    sudo chown root:root /etc/sssd/sssd.conf
    
  5. authconfig을 사용하여 AD Linux 통합을 VM에 지시합니다:

    sudo authconfig --enablesssd --enablesssd auth --update
    
  6. SSSD 서비스를 시작하고 사용하도록 설정합니다:

    sudo service sssd start
    sudo chkconfig sssd on
    

VM이 도메인 조인 프로세스를 성공적으로 완료할 수 없는 경우 VM의 네트워크 보안 그룹에서 관리되는 도메인의 가상 네트워크 서브넷에 대한 TCP + UDP 포트 464의 아웃바운드 Kerberos 트래픽을 허용하는지 확인합니다.

이제 getent을 사용하여 사용자 AD 정보를 쿼리할 수 있는지 확인합니다

sudo getent passwd contosoadmin

SSH에 대한 암호 인증 허용

기본적으로 사용자는 SSH 퍼블릭 키 기반 인증을 사용하여 VM에만 로그인할 수 있습니다. 암호 기반 인증이 실패합니다. VM을 관리되는 도메인에 조인할 때 해당 도메인 계정은 암호 기반 인증을 사용해야 합니다. 다음과 같이 SSH 구성을 업데이트하여 암호 기반 인증을 허용합니다.

  1. 편집기를 사용하여 sshd_conf 파일을 엽니다.

    sudo vi /etc/ssh/sshd_config
    
  2. PasswordAuthentication 줄을 ‘예’로 업데이트합니다.

    PasswordAuthentication yes
    

    완료되면 편집기의 :wq 명령을 사용하여 sshd_conf 파일을 저장한 후 종료합니다.

  3. 변경 내용을 적용하고 사용자가 암호를 사용하여 로그인할 수 있도록 하려면 RHEL 배포판 버전 Secure Shell 서비스를 다시 시작합니다:

    sudo service sshd restart
    

'AAD DC Administrators' 그룹 sudo 권한 부여

AAD DC 관리자 그룹 멤버에게 RHEL VM 관리 권한을 부여하려면 / etc / sudoers에 항목을 추가합니다. 추가된 후에는 AAD DC 관리자 그룹 멤버가 RHEL VM에서 sudo 명령을 사용할 수 있습니다.

  1. 편집할 sudoers 파일을 엽니다:

    sudo visudo
    
  2. /etc/sudoers 파일에 다음 항목을 추가합니다. AAD DC 관리자 그룹 이름에 공백이 포함되어 있으므로 그룹 이름에 백슬래시 이스케이프 문자를 포함합니다. aaddscontoso.com와 같은 고유한 도메인 이름을 추가합니다.

    # Add 'AAD DC Administrators' group members as admins.
    %AAD\ DC\ Administrators@aaddscontoso.com ALL=(ALL) NOPASSWD:ALL
    

    완료되면 편집기의 :wq 명령을 사용하여 저장한 후 종료합니다.

도메인 계정을 사용하여 VM에 로그인

VM이 관리되는 도메인에 성공적으로 조인되었는지 확인하려면 도메인 사용자 계정을 사용하여 새 SSH 연결을 시작합니다. 홈 디렉터리가 만들어지고 도메인의 그룹 구성원이 적용되었는지 확인합니다.

  1. 콘솔에서 새 Secure Shell 연결을 만듭니다. contosoadmin@aaddscontoso.com와 같은 ssh -l 명령을 사용하는 관리되는 도메인에 포함되는 도메인 계정을 사용한 다음 rhel.aaddscontoso.com와 같은 VM 주소를 입력합니다. Azure Cloud Shell을 사용하는 경우 내부 DNS 이름보다 VM의 공용 IP 주소를 사용합니다.

    ssh -l contosoadmin@AADDSCONTOSO.com rhel.aaddscontoso.com
    
  2. VM에 성공적으로 연결되면 홈 디렉터리가 올바르게 초기화되었는지 확인합니다.

    pwd
    

    사용자 계정과 일치하는 고유한 디렉터리가 있는 /home 디렉터리에 있어야 합니다.

  3. 이제 그룹 멤버 자격이 올바르게 확인되는지 확인합니다.

    id
    

    관리되는 도메인의 그룹 멤버 자격이 표시되어야 합니다.

  4. ‘AAD DC 관리자’ 그룹 멤버로 VM에 로그인한 경우 sudo 명령을 올바르게 사용할 수 있는지 확인합니다.

    sudo yum update
    

다음 단계

VM을 관리되는 도메인에 연결하거나 도메인 계정으로 로그인하는 데 문제가 있는 경우 도메인 조인 문제 해결을 참조하세요.