다음을 통해 공유


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

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

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

필수 구성 요소

이 자습서를 완료하려면 다음 리소스 및 권한이 필요합니다.

  • 활성 Azure 구독입니다.
    • Azure 구독이 없는 경우 계정을만드십시오.
  • 온-프레미스 디렉터리 또는 클라우드 전용 디렉터리와 동기화된 구독과 연결된 Microsoft Entra 테넌트입니다.
  • Microsoft Entra 테넌트에서 사용하도록 설정하고 구성한 Microsoft Entra Domain Services 관리 도메인입니다.
  • 관리되는 도메인의 일부인 사용자 계정입니다.
  • Active Directory에서 충돌을 일으킬 수 있는 잘린 이름을 방지하기 위해 최대 15자의 고유한 Linux VM 이름입니다.

RHEL Linux VM 만들기 및 연결

Azure에 기존 RHEL Linux VM이 있는 경우 SSH를 사용하여 연결한 다음, 다음 단계로 진행하여 VM 구성을 시작하기 바랍니다 .

RHEL Linux VM을 만들어야 하거나 이 문서에서 사용할 테스트 VM을 만들려는 경우 다음 방법 중 하나를 사용할 수 있습니다.

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

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

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

호스트 파일 구성

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

sudo vi /etc/hosts

호스트 파일에서 localhost 주소를 업데이트합니다. 다음 예제에서는 다음을 수행합니다.

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

이러한 이름을 사용자 고유의 값으로 업데이트합니다.

127.0.0.1 rhel rhel.aaddscontoso.com

완료되면 편집기의 :wq 명령을 사용하여 호스트 파일을 저장하고 종료합니다.

중요하다

Red Hat Enterprise Linux 6.X 및 Oracle Linux 6.x는 이미 EOL입니다. RHEL 6.10은 2024년 06월 종료된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 사용하여 VM에 AD Linux 통합에 대해 지시합니다.

    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 줄을 업데이트하여 yes로 변경하십시오.

    PasswordAuthentication yes
    

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

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

    sudo service sshd restart
    

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

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

  1. 편집을 위해 sudoers 파일을 엽니다.

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

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

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

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

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

  1. 콘솔에서 새 SSH 연결을 만듭니다. 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 Administrators 그룹의 구성원으로 VM에 로그인한 경우 sudo 명령을 올바르게 사용할 수 있는지 확인합니다.

    sudo yum update
    

다음 단계

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