Linux 인스턴스에 수동으로 연결 - AWS Directory Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Linux 인스턴스에 수동으로 연결

Amazon EC2 Windows 인스턴스 외에도 특정 Amazon EC2 Linux 인스턴스를 Simple AD 디렉터리에 조인할 수 있습니다. 다음과 같은 Linux 인스턴스 배포판과 버전이 지원됩니다.

  • Amazon Linux AMI 2018.03.0

  • Amazon Linux 2(64비트 x86)

  • Red Hat Enterprise Linux 8(HVM)(64비트 x86)

  • Ubuntu Server 18.04 LTS 및 Ubuntu Server 16.04 LTS

  • CentOS 7 x86-64

  • SUSE Linux Enterprise Server 15 SP1

참고

기타 Linux 배포판 및 버전은 작동이 가능할 수도 있지만, 테스트는 거치지 않았습니다.

디렉터리에 인스턴스를 조인합니다.

디렉터리에 Amazon Linux 혹은 CentOS, Red Hat, Ubuntu 인스턴스를 조인하려면 Simple AD 디렉터리에 Linux EC2 인스턴스 원활하게 조인에 지정된 대로 인스턴스를 먼저 시작해야 합니다.

중요

아래의 일부 절차들로 인해(올바르게 수행되지 않은 경우) 인스턴스 접속이나 사용이 불가능해질 수 있습니다. 따라서 이러한 절차를 수행하기 전에 인스턴스에 대한 백업을 생성하거나 스냅샷을 만드는 것이 좋습니다.

디렉터리에 Linux 인스턴스 조인

다음 탭 중 하나를 이용해 특정 Linux 인스턴스의 단계를 수행합니다.

Amazon Linux
  1. SSH 클라이언트를 사용하여 인스턴스에 연결합니다.

  2. AWS Directory Service제공된 DNS 서버의 DNS 서버 IP 주소를 사용하도록 Linux 인스턴스를 구성합니다. VPC에 연결된 DHCP 옵션 세트에서 이를 설정하거나 인스턴스에서 이를 수동으로 설정하는 방법으로 이러한 구성이 가능합니다. 수동으로 설정하려면 AWS 지식 센터의 프라이빗 Amazon EC2 인스턴스에 정적 DNS 서버를 할당하는 방법을 참조하여 특정 Linux 배포 및 버전에 맞게 영구 DNS 서버를 설정하는 방법을 참조하십시오.

  3. Amazon Linux - 64비트 인스턴스가 업데이트되었는지 확인합니다.

    sudo yum -y update
  4. Linux 인스턴스에 필요한 Amazon Linux 패키지를 설치합니다.

    참고

    이러한 패키지 중 몇 개는 이미 설치가 되어 있을 수 있습니다.

    패키지를 설치할 때 몇 가지 팝업 구성 화면이 나타날 수 있습니다. 보통은 이러한 화면의 필드들을 공백 상태로 남겨둡니다.

    Amazon Linux 1
    sudo yum -y install sssd realmd krb5-workstation
    Amazon Linux 2
    sudo yum -y install sssd realmd krb5-workstation samba-common-tools
    참고

    사용 중인 Amazon Linux 버전을 확인하는 데 도움이 필요하면 Linux 인스턴스용 Amazon EC2 사용 설명서의 Amazon Linux 이미지 식별을 참조하십시오.

  5. 다음 명령을 통해 디렉터리에 인스턴스를 조인합니다.

    sudo realm join -U join_account@example.com example.com --verbose
    join_account@example.com

    도메인 조인 권한을 가진 example.com 도메인의 계정입니다. 메시지가 나타나면 계정에 대한 암호를 입력합니다. 이러한 권한의 위임에 대한 자세한 정보는 AWS관리형 Microsoft AD에 대한 디렉터리 가입 권한 위임을 참조하십시오.

    example.com을 선택합니다

    디렉터리의 정규화된 DNS 이름.

    ... * Successfully enrolled machine in realm
  6. 암호 인증을 허용하도록 SSH 서비스를 설정합니다.

    1. 텍스트 편집기에서 /etc/ssh/sshd_config 파일을 엽니다.

      sudo vi /etc/ssh/sshd_config
    2. PasswordAuthentication 설정값을 yes로 설정합니다.

      PasswordAuthentication yes
    3. SSH 서비스를 다시 시작합니다.

      sudo systemctl restart sshd.service

      대안:

      sudo service sshd restart
  7. 인스턴스가 재시작되고 나면 다음 단계를 수행하여 SSH 클라이언트에 이를 연결하고 sudoers 목록에 도메인 관리자 그룹을 추가합니다.

    1. 다음 명령을 통해 sudoers 파일을 엽니다.

      sudo visudo
    2. sudoers 파일 끝부분에 다음을 추가하고 저장합니다.

      ## Add the "Domain Admins" group from the example.com domain. %Domain\ Admins@example.com ALL=(ALL:ALL) ALL

      위 예제에서는 Linux 공백 문자를 생성하기 위해 "\<space>"를 사용합니다.

CentOS
  1. SSH 클라이언트를 사용하여 인스턴스에 연결합니다.

  2. AWS Directory Service제공된 DNS 서버의 DNS 서버 IP 주소를 사용하도록 Linux 인스턴스를 구성합니다. VPC에 연결된 DHCP 옵션 세트에서 이를 설정하거나 인스턴스에서 이를 수동으로 설정하는 방법으로 이러한 구성이 가능합니다. 수동으로 설정하려면 AWS 지식 센터의 프라이빗 Amazon EC2 인스턴스에 정적 DNS 서버를 할당하는 방법을 참조하여 특정 Linux 배포 및 버전에 맞게 영구 DNS 서버를 설정하는 방법을 참조하십시오.

  3. CentOS 7 인스턴스가 업데이트되었는지 확인합니다.

    sudo yum -y update
  4. Linux 인스턴스에 필요한 CentOS 7 패키지를 설치합니다.

    참고

    이러한 패키지 중 몇 개는 이미 설치가 되어 있을 수 있습니다.

    패키지를 설치할 때 몇 가지 팝업 구성 화면이 나타날 수 있습니다. 보통은 이러한 화면의 필드들을 공백 상태로 남겨둡니다.

    sudo yum -y install sssd realmd krb5-workstation samba-common-tools
  5. 다음 명령을 통해 디렉터리에 인스턴스를 조인합니다.

    sudo realm join -U join_account@example.com example.com --verbose
    join_account@example.com

    도메인 조인 권한을 가진 example.com 도메인의 계정입니다. 메시지가 나타나면 계정에 대한 암호를 입력합니다. 이러한 권한의 위임에 대한 자세한 정보는 AWS관리형 Microsoft AD에 대한 디렉터리 가입 권한 위임을 참조하십시오.

    example.com을 선택합니다

    디렉터리의 정규화된 DNS 이름.

    ... * Successfully enrolled machine in realm
  6. 암호 인증을 허용하도록 SSH 서비스를 설정합니다.

    1. 텍스트 편집기에서 /etc/ssh/sshd_config 파일을 엽니다.

      sudo vi /etc/ssh/sshd_config
    2. PasswordAuthentication 설정값을 yes로 설정합니다.

      PasswordAuthentication yes
    3. SSH 서비스를 다시 시작합니다.

      sudo systemctl restart sshd.service

      대안:

      sudo service sshd restart
  7. 인스턴스가 재시작되고 나면 다음 단계를 수행하여 SSH 클라이언트에 이를 연결하고 sudoers 목록에 도메인 관리자 그룹을 추가합니다.

    1. 다음 명령을 통해 sudoers 파일을 엽니다.

      sudo visudo
    2. sudoers 파일 끝부분에 다음을 추가하고 저장합니다.

      ## Add the "Domain Admins" group from the example.com domain. %Domain\ Admins@example.com ALL=(ALL:ALL) ALL

      위 예제에서는 Linux 공백 문자를 생성하기 위해 "\<space>"를 사용합니다.

Red hat
  1. SSH 클라이언트를 사용하여 인스턴스에 연결합니다.

  2. AWS Directory Service제공된 DNS 서버의 DNS 서버 IP 주소를 사용하도록 Linux 인스턴스를 구성합니다. VPC에 연결된 DHCP 옵션 세트에서 이를 설정하거나 인스턴스에서 이를 수동으로 설정하는 방법으로 이러한 구성이 가능합니다. 수동으로 설정하려면 AWS 지식 센터의 프라이빗 Amazon EC2 인스턴스에 정적 DNS 서버를 할당하는 방법을 참조하여 특정 Linux 배포 및 버전에 맞게 영구 DNS 서버를 설정하는 방법을 참조하십시오.

  3. Red Hat - 64비트 인스턴스가 업데이트되었는지 확인합니다.

    sudo yum -y update
  4. Linux 인스턴스에 필요한 Red Hat 패키지를 설치합니다.

    참고

    이러한 패키지 중 몇 개는 이미 설치가 되어 있을 수 있습니다.

    패키지를 설치할 때 몇 가지 팝업 구성 화면이 나타날 수 있습니다. 보통은 이러한 화면의 필드들을 공백 상태로 남겨둡니다.

    sudo yum -y install sssd realmd krb5-workstation samba-common-tools
  5. 다음 명령을 통해 디렉터리에 인스턴스를 조인합니다.

    sudo realm join -v -U join_account example.com --install=/
    join_account

    도메인 가입 AccountName 권한이 있는 example.com 도메인 계정의 SAM입니다. 메시지가 나타나면 계정에 대한 암호를 입력합니다. 이러한 권한의 위임에 대한 자세한 정보는 AWS관리형 Microsoft AD에 대한 디렉터리 가입 권한 위임을 참조하십시오.

    example.com을 선택합니다

    디렉터리의 정규화된 DNS 이름.

    ... * Successfully enrolled machine in realm
  6. 암호 인증을 허용하도록 SSH 서비스를 설정합니다.

    1. 텍스트 편집기에서 /etc/ssh/sshd_config 파일을 엽니다.

      sudo vi /etc/ssh/sshd_config
    2. PasswordAuthentication 설정값을 yes로 설정합니다.

      PasswordAuthentication yes
    3. SSH 서비스를 다시 시작합니다.

      sudo systemctl restart sshd.service

      대안:

      sudo service sshd restart
  7. 인스턴스가 재시작되고 나면 다음 단계를 수행하여 SSH 클라이언트에 이를 연결하고 sudoers 목록에 도메인 관리자 그룹을 추가합니다.

    1. 다음 명령을 통해 sudoers 파일을 엽니다.

      sudo visudo
    2. sudoers 파일 끝부분에 다음을 추가하고 저장합니다.

      ## Add the "Domain Admins" group from the example.com domain. %Domain\ Admins@example.com ALL=(ALL:ALL) ALL

      위 예제에서는 Linux 공백 문자를 생성하기 위해 "\<space>"를 사용합니다.

Ubuntu
  1. SSH 클라이언트를 사용하여 인스턴스에 연결합니다.

  2. AWS Directory Service제공된 DNS 서버의 DNS 서버 IP 주소를 사용하도록 Linux 인스턴스를 구성합니다. VPC에 연결된 DHCP 옵션 세트에서 이를 설정하거나 인스턴스에서 이를 수동으로 설정하는 방법으로 이러한 구성이 가능합니다. 수동으로 설정하려면 AWS 지식 센터의 프라이빗 Amazon EC2 인스턴스에 정적 DNS 서버를 할당하는 방법을 참조하여 특정 Linux 배포 및 버전에 맞게 영구 DNS 서버를 설정하는 방법을 참조하십시오.

  3. Ubuntu - 64비트 인스턴스가 업데이트되었는지 확인합니다.

    sudo apt-get update sudo apt-get -y upgrade
  4. Linux 인스턴스에 필요한 Ubuntu 패키지를 설치합니다.

    참고

    이러한 패키지 중 몇 개는 이미 설치가 되어 있을 수 있습니다.

    패키지를 설치할 때 몇 가지 팝업 구성 화면이 나타날 수 있습니다. 보통은 이러한 화면의 필드들을 공백 상태로 남겨둡니다.

    sudo apt-get -y install sssd realmd krb5-user samba-common packagekit adcli
  5. 역방향 DNS 확인을 비활성화하고 기본 영역을 도메인의 FQDN으로 설정합니다. 영역이 작동하려면 Ubuntu 인스턴스가 DNS에서 역 확인이 가능해야 합니다. 그렇지 않을 경우 다음과 같이 /etc/krb5.conf에서 역 DNS를 비활성해야 합니다.

    sudo vi /etc/krb5.conf
    [libdefaults] default_realm = EXAMPLE.COM rdns = false
  6. 다음 명령을 통해 디렉터리에 인스턴스를 조인합니다.

    sudo realm join -U join_account example.com --verbose
    join_account@example.com

    도메인 가입 AccountName 권한이 있는 example.com 도메인 계정의 SAM입니다. 메시지가 나타나면 계정에 대한 암호를 입력합니다. 이러한 권한의 위임에 대한 자세한 정보는 AWS관리형 Microsoft AD에 대한 디렉터리 가입 권한 위임을 참조하십시오.

    example.com을 선택합니다

    디렉터리의 정규화된 DNS 이름.

    ... * Successfully enrolled machine in realm
  7. 암호 인증을 허용하도록 SSH 서비스를 설정합니다.

    1. 텍스트 편집기에서 /etc/ssh/sshd_config 파일을 엽니다.

      sudo vi /etc/ssh/sshd_config
    2. PasswordAuthentication 설정값을 yes로 설정합니다.

      PasswordAuthentication yes
    3. SSH 서비스를 다시 시작합니다.

      sudo systemctl restart sshd.service

      대안:

      sudo service sshd restart
  8. 인스턴스가 재시작되고 나면 다음 단계를 수행하여 SSH 클라이언트에 이를 연결하고 sudoers 목록에 도메인 관리자 그룹을 추가합니다.

    1. 다음 명령을 통해 sudoers 파일을 엽니다.

      sudo visudo
    2. sudoers 파일 끝부분에 다음을 추가하고 저장합니다.

      ## Add the "Domain Admins" group from the example.com domain. %Domain\ Admins@example.com ALL=(ALL:ALL) ALL

      위 예제에서는 Linux 공백 문자를 생성하기 위해 "\<space>"를 사용합니다.

참고

Simple AD를 사용할 때 Linux 인스턴스에서 “처음 로그인할 때 사용자가 암호를 변경하도록 강제 적용” 옵션을 사용하여 사용자 계정을 만들면 해당 사용자는 처음에 를 사용하여 암호를 변경할 수 없습니다kpasswd. 처음으로 암호를 변경하려면 도메인 관리자가 Microsoft Active Directory 관리 도구를 사용해 사용자 암호를 업데이트해야 합니다.

Linux 인스턴스에서 계정을 관리합니다.

Linux 인스턴스의 Simple AD 계정을 관리하려면 Linux 인스턴스의 특정 구성 파일을 다음과 같이 업데이트해야 합니다.

  1. /etc/sssd/sssd.conf 파일에서 krb5_use_kdcinfo를 False로 설정합니다. 예:

    [domain/example.com] krb5_use_kdcinfo = False
  2. 이 구성이 활성화되려면 sssd 서비스를 재시작해야 합니다.

    $ sudo systemctl restart sssd.service

    또는 다음 작업을 사용할 수 있습니다.

    $ sudo service sssd start
  3. 또한 CentOS Linux 인스턴스에서 사용자를 관리하려면 다음이 포함되도록 /etc/smb.conf를 편집해야 합니다.

    [global] workgroup = EXAMPLE.COM realm = EXAMPLE.COM netbios name = EXAMPLE security = ads

계정 로그인 액세스 제한

모든 계정을 Active Directory에 정의하면 기본으로 디렉토리의 모든 사용자는 인스턴스에 로그인할 수 있습니다. 특정 사용자만 sssd.confad_access_filter으로 인스턴스에 로그인할 수 있습니다. 예:

ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
memberOf

특정 그룹의 멤버인 사용자는 반드시 인스턴스에 액세스할 수 있어야 한다는 뜻입니다.

cn

액세스해야 하는 그룹의 일반 이름입니다. 이 예제에서 그룹 이름은 admins입니다.

ou

위의 그룹이 위치해 있는 조직 단위(OU)입니다. 이 예제에서 OU는 Testou입니다.

dc

도메인의 도메인 구성 요소입니다. 이 예제에서는 example입니다.

dc

추가적인 도메인 구성 요소입니다. 이 예제에서는 com입니다.

현재 사용자는 ad_access_filter/etc/sssd/sssd.conf에 수동으로 추가해야 합니다.

텍스트 편집기에서 /etc/sssd/sssd.conf 파일을 엽니다.

sudo vi /etc/sssd/sssd.conf

추가를 하고 나면 sssd.conf가 다음과 같이 보일 수 있습니다.

[sssd] domains = example.com config_file_version = 2 services = nss, pam [domain/example.com] ad_domain = example.com krb5_realm = EXAMPLE.COM realmd_tags = manages-system joined-with-samba cache_credentials = True id_provider = ad krb5_store_password_if_offline = True default_shell = /bin/bash ldap_id_mapping = True use_fully_qualified_names = True fallback_homedir = /home/%u@%d access_provider = ad ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)

컨피그레이션을 적용하려면 sssd 서비스를 다시 시작해야 합니다.

sudo systemctl restart sssd.service

또는 다음 작업을 사용할 수 있습니다.

sudo service sssd restart

인스턴스에 연결

사용자가 SSH 클라이언트를 사용하여 인스턴스에 연결하면 사용자 이름을 입력하라는 메시지가 표시됩니다. 사용자는 OR EXAMPLE\username 형식 중 하나로 사용자 이름을 입력할 수 username@example.com 있습니다. 응답은 사용 중인 Linux 배포판에 따라 다음과 같이 나타납니다.

Amazon Linux, Red Hat Enterprise Linux, CentOS Linux

login as: johndoe@example.com johndoe@example.com's password: Last login: Thu Jun 25 16:26:28 2015 from XX.XX.XX.XX

SUSE Linux

SUSE Linux Enterprise Server 15 SP1 x86_64 (64-bit) As "root" (sudo or sudo -i) use the: - zypper command for package management - yast command for configuration management Management and Config: https://www.suse.com/suse-in-the-cloud-basics Documentation: https://www.suse.com/documentation/sles-15/ Forum: https://forums.suse.com/forumdisplay.php?93-SUSE-Public-Cloud Have a lot of fun...

Ubuntu Linux

login as: admin@example.com admin@example.com@10.24.34.0's password: Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1057-aws x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Apr 18 22:03:35 UTC 2020 System load: 0.01 Processes: 102 Usage of /: 18.6% of 7.69GB Users logged in: 2 Memory usage: 16% IP address for eth0: 10.24.34.1 Swap usage: 0%