Associe manualmente uma instância do Linux - AWS Directory Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Associe manualmente uma instância do Linux

Além das instâncias do Amazon EC2 do Windows, você também pode associar determinadas instâncias do Amazon EC2 do Linux ao seu diretório AWS Directory Service para Microsoft Active Directory. As seguintes distribuições e versões de instância do Linux são suportadas:

  • Amazon Linux AMI 2018.03.0

  • Amazon Linux 2 (64 bits x86)

  • Red Hat Enterprise Linux 8 (HVM) (64 bits x86)

  • Ubuntu Server 18.04 LTS e Ubuntu Server 16.04 LTS

  • CentOS 7 x86-64

  • SUSE Linux Enterprise Server 15 SP1

nota

Outras distribuições e versões do Linux podem funcionar, mas não foram testadas.

Junte uma instância ao seu diretório

Antes que você possa associar uma instância do Amazon Linux, do CentOS, do Red Hat ou do Ubuntu ao diretório, ela deve ser executada como conforme especificado em Associe continuamente uma instância do EC2 do Windows.

Importante

Alguns dos procedimentos a seguir, se não forem executados corretamente, podem tornar sua instância inacessível ou não utilizável. Portanto, nós sugerimos enfaticamente que você faça um backup ou tire um snapshot da sua instância antes de executar esses procedimentos.

Para associar uma instância do Linux ao seu diretório

Siga as etapas para a sua instância do Linux específica usando uma das seguintes guias:

Amazon Linux
  1. Conecte-se à instância usando qualquer cliente SSH.

  2. Configure a instância do Linux para usar os endereços IP dos servidores DNS fornecidos pelo AWS Directory Service. Você pode fazer isso configurando-o nas opções de DHCP conectadas à VPC ou configurando-o manualmente na instância. Se você quiser defini-lo manualmente, consulte Como faço para atribuir um servidor DNS estático a uma instância privada do Amazon EC2 no Centro de Conhecimento da AWS para obter orientação na definição do servidor DNS persistente para sua distribuição e versão específicas do Linux.

  3. Certifique-se de que a instância do Amazon Linux - 64 bits está atualizada.

    sudo yum -y update
  4. Instale os pacotes do Amazon Linux necessários na sua instância do Linux.

    nota

    Alguns desses pacotes já podem estar instalados.

    Enquanto você instala os pacotes, você pode ver várias telas pop-up de configuração. Você geralmente pode deixar os campos nessas telas em branco.

    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
    nota

    Para obter ajuda com a determinação da versão do Amazon Linux que você está usando, consulte Identificar imagens do Amazon Linux no Guia do usuário do Amazon EC2 para instâncias Linux.

  5. Junte a instância ao diretório com o comando a seguir.

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

    Uma conta no domínio example.com que tenha privilégios de junção de domínio. Digite a senha da conta quando solicitado. Para obter mais informações sobre como delegar esses privilégios, consulte Delegar privilégios de associação ao diretório do AWS Managed Microsoft AD.

    example.com

    O nome do DNS totalmente qualificado do seu diretório.

    ... * Successfully enrolled machine in realm
  6. Ajuste o serviço SSH para permitir autenticação de senha.

    1. Abra o arquivo /etc/ssh/sshd_config em um editor de textos.

      sudo vi /etc/ssh/sshd_config
    2. Defina a configuração PasswordAuthentication como yes.

      PasswordAuthentication yes
    3. Reinicie o serviço SSH.

      sudo systemctl restart sshd.service

      Alternativa:

      sudo service sshd restart
  7. Após a instância ser reiniciada, conecte-se a ela com um cliente SSH e adicione o grupo de administradores delegados da AWS à lista de sudoers executando as etapas a seguir:

    1. Abra o arquivo sudoers com o seguinte comando:

      sudo visudo
    2. Adicione o seguinte ao final do arquivo sudoers e salve-o.

      ## Add the "AWS Delegated Administrators" group from the example.com domain. %AWS\ Delegated\ Administrators@example.com ALL=(ALL:ALL) ALL

      (O exemplo acima usa "\<space>" para criar o caractere de espaço do Linux.)

CentOS
  1. Conecte-se à instância usando qualquer cliente SSH.

  2. Configure a instância do Linux para usar os endereços IP dos servidores DNS fornecidos pelo AWS Directory Service. Você pode fazer isso configurando-o nas opções de DHCP conectadas à VPC ou configurando-o manualmente na instância. Se você quiser defini-lo manualmente, consulte Como faço para atribuir um servidor DNS estático a uma instância privada do Amazon EC2 no Centro de Conhecimento da AWS para obter orientação na definição do servidor DNS persistente para sua distribuição e versão específicas do Linux.

  3. Certifique-se de que a instância do CentOS 7 está atualizada.

    sudo yum -y update
  4. Instale os pacotes do CentOS 7 necessários na sua instância do Linux.

    nota

    Alguns desses pacotes já podem estar instalados.

    Enquanto você instala os pacotes, você pode ver várias telas pop-up de configuração. Você geralmente pode deixar os campos nessas telas em branco.

    sudo yum -y install sssd realmd krb5-workstation samba-common-tools
  5. Junte a instância ao diretório com o comando a seguir.

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

    Uma conta no domínio example.com que tenha privilégios de junção de domínio. Digite a senha da conta quando solicitado. Para obter mais informações sobre como delegar esses privilégios, consulte Delegar privilégios de associação ao diretório do AWS Managed Microsoft AD.

    example.com

    O nome do DNS totalmente qualificado do seu diretório.

    ... * Successfully enrolled machine in realm
  6. Ajuste o serviço SSH para permitir autenticação de senha.

    1. Abra o arquivo /etc/ssh/sshd_config em um editor de textos.

      sudo vi /etc/ssh/sshd_config
    2. Defina a configuração PasswordAuthentication como yes.

      PasswordAuthentication yes
    3. Reinicie o serviço SSH.

      sudo systemctl restart sshd.service

      Alternativa:

      sudo service sshd restart
  7. Após a instância ser reiniciada, conecte-se a ela com um cliente SSH e adicione o grupo de administradores delegados da AWS à lista de sudoers executando as etapas a seguir:

    1. Abra o arquivo sudoers com o seguinte comando:

      sudo visudo
    2. Adicione o seguinte ao final do arquivo sudoers e salve-o.

      ## Add the "AWS Delegated Administrators" group from the example.com domain. %AWS\ Delegated\ Administrators@example.com ALL=(ALL:ALL) ALL

      (O exemplo acima usa "\<space>" para criar o caractere de espaço do Linux.)

Red Hat
  1. Conecte-se à instância usando qualquer cliente SSH.

  2. Configure a instância do Linux para usar os endereços IP dos servidores DNS fornecidos pelo AWS Directory Service. Você pode fazer isso configurando-o nas opções de DHCP conectadas à VPC ou configurando-o manualmente na instância. Se você quiser defini-lo manualmente, consulte Como faço para atribuir um servidor DNS estático a uma instância privada do Amazon EC2 no Centro de Conhecimento da AWS para obter orientação na definição do servidor DNS persistente para sua distribuição e versão específicas do Linux.

  3. Certifique-se de que a instância do Red Hat - 64 bits está atualizada.

    sudo yum -y update
  4. Instale os pacotes do Red Hat necessários na sua instância do Linux.

    nota

    Alguns desses pacotes já podem estar instalados.

    Enquanto você instala os pacotes, você pode ver várias telas pop-up de configuração. Você geralmente pode deixar os campos nessas telas em branco.

    sudo yum -y install sssd realmd krb5-workstation samba-common-tools
  5. Junte a instância ao diretório com o comando a seguir.

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

    O sAMAccountName para uma conta no domínio example.com que tem privilégios de ingresso no domínio. Digite a senha da conta quando solicitado. Para obter mais informações sobre como delegar esses privilégios, consulte Delegar privilégios de associação ao diretório do AWS Managed Microsoft AD.

    example.com

    O nome do DNS totalmente qualificado do seu diretório.

    ... * Successfully enrolled machine in realm
  6. Ajuste o serviço SSH para permitir autenticação de senha.

    1. Abra o arquivo /etc/ssh/sshd_config em um editor de textos.

      sudo vi /etc/ssh/sshd_config
    2. Defina a configuração PasswordAuthentication como yes.

      PasswordAuthentication yes
    3. Reinicie o serviço SSH.

      sudo systemctl restart sshd.service

      Alternativa:

      sudo service sshd restart
  7. Após a instância ser reiniciada, conecte-se a ela com um cliente SSH e adicione o grupo de administradores delegados da AWS à lista de sudoers executando as etapas a seguir:

    1. Abra o arquivo sudoers com o seguinte comando:

      sudo visudo
    2. Adicione o seguinte ao final do arquivo sudoers e salve-o.

      ## Add the "AWS Delegated Administrators" group from the example.com domain. %AWS\ Delegated\ Administrators@example.com ALL=(ALL:ALL) ALL

      (O exemplo acima usa "\<space>" para criar o caractere de espaço do Linux.)

SUSE
  1. Conecte-se à instância usando qualquer cliente SSH.

  2. Configure a instância do Linux para usar os endereços IP dos servidores DNS fornecidos pelo AWS Directory Service. Você pode fazer isso configurando-o nas opções de DHCP conectadas à VPC ou configurando-o manualmente na instância. Se você quiser defini-lo manualmente, consulte Como faço para atribuir um servidor DNS estático a uma instância privada do Amazon EC2 no Centro de Conhecimento da AWS para obter orientação na definição do servidor DNS persistente para sua distribuição e versão específicas do Linux.

  3. Verifique se sua instância do SUSE Linux 15 está atualizada.

    1. Conecte o repositório de pacotes.

      sudo SUSEConnect -p PackageHub/15.1/x86_64
    2. Atualize o SUSE.

      sudo zypper update -y
  4. Instale os pacotes SUSE Linux 15 necessários em sua instância do Linux.

    nota

    Alguns desses pacotes já podem estar instalados.

    Enquanto você instala os pacotes, você pode ver várias telas pop-up de configuração. Você geralmente pode deixar os campos nessas telas em branco.

    sudo zypper -n install realmd adcli sssd sssd-tools sssd-ad samba-client krb5-client
  5. Junte a instância ao diretório com o comando a seguir.

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

    O sAMAccountName no example.com Domínio do com privilégios de ingresso no domínio. Digite a senha da conta quando solicitado. Para obter mais informações sobre como delegar esses privilégios, consulte Delegar privilégios de associação ao diretório do AWS Managed Microsoft AD.

    example.com

    O nome do DNS totalmente qualificado do seu diretório.

    … realm: Couldn't join realm: Enabling SSSD in nsswitch.conf and PAM failed.

    Observe que espera-se ambos os retornos a seguir.

    ! Couldn't authenticate with keytab while discovering which salt to use: ! Enabling SSSD in nsswitch.conf and PAM failed.
  6. Habilite manualmente o SSSD no PAM.

    sudo pam-config --add --sss
  7. Edite o nsswitch.conf para habilitar o SSSD no nsswitch.conf

    sudo vi /etc/nsswitch.conf
    passwd: compat sss group: compat sss shadow: compat sss
  8. Adicione a seguinte linha a /etc/pam.d/common-session para criar automaticamente um diretório inicial no login inicial

    sudo vi /etc/pam.d/common-session
    session optional pam_mkhomedir.so skel=/etc/skel umask=077
  9. Reinicialize a instância para concluir o processo de ingresso no domínio.

    sudo reboot
  10. Reconecte-se à instância usando qualquer cliente SSH para verificar se o ingresso no domínio foi concluído com êxito e finalizar etapas adicionais.

    1. Como verificar se a instância foi inscrita no domínio

      sudo realm list
      example.com type: kerberos realm-name: EXAMPLE.COM domain-name: example.com configured: kerberos-member server-software: active-directory client-software: sssd required-package: sssd-tools required-package: sssd required-package: adcli required-package: samba-client login-formats: %U@example.com login-policy: allow-realm-logins
    2. Como verificar o status do daemon SSSD

      systemctl status sssd
      sssd.service - System Security Services Daemon Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2020-04-15 16:22:32 UTC; 3min 49s ago Main PID: 479 (sssd) Tasks: 4 CGroup: /system.slice/sssd.service ├─479 /usr/sbin/sssd -i --logger=files ├─505 /usr/lib/sssd/sssd_be --domain example.com --uid 0 --gid 0 --logger=files ├─548 /usr/lib/sssd/sssd_nss --uid 0 --gid 0 --logger=files └─549 /usr/lib/sssd/sssd_pam --uid 0 --gid 0 --logger=files
  11. Como permitir o acesso de um usuário via SSH e console

    sudo realm permit join_account@example.com

    Como permitir acesso a um grupo de domínios via SSH e console

    sudo realm permit -g 'AWS Delegated Administrators'

    Ou como permitir que todos os usuários acessem

    sudo realm permit --all
  12. Ajuste o serviço SSH para permitir autenticação de senha.

    1. Abra o arquivo /etc/ssh/sshd_config em um editor de textos.

      sudo vi /etc/ssh/sshd_config
    2. Defina a configuração PasswordAuthentication como yes.

      PasswordAuthentication yes
    3. Reinicie o serviço SSH.

      sudo systemctl restart sshd.service

      Alternativa:

      sudo service sshd restart
  13. 13. Após a instância ser reiniciada, conecte-se a ela com um cliente SSH e adicione o grupo de administradores delegados da AWS à lista de sudoers executando as etapas a seguir:

    1. Abra o arquivo sudoers com o seguinte comando:

      sudo visudo
    2. Adicione o seguinte ao final do arquivo sudoers e salve-o.

      ## Add the "Domain Admins" group from the awsad.com domain. %AWS\ Delegated\ Administrators@example.com ALL=(ALL) NOPASSWD: ALL
Ubuntu
  1. Conecte-se à instância usando qualquer cliente SSH.

  2. Configure a instância do Linux para usar os endereços IP dos servidores DNS fornecidos pelo AWS Directory Service. Você pode fazer isso configurando-o nas opções de DHCP conectadas à VPC ou configurando-o manualmente na instância. Se você quiser defini-lo manualmente, consulte Como faço para atribuir um servidor DNS estático a uma instância privada do Amazon EC2 no Centro de Conhecimento da AWS para obter orientação na definição do servidor DNS persistente para sua distribuição e versão específicas do Linux.

  3. Certifique-se de que a instância do Ubuntu - 64 bits está atualizada.

    sudo apt-get update sudo apt-get -y upgrade
  4. Instale os pacotes do Ubuntu necessários na sua instância do Linux.

    nota

    Alguns desses pacotes já podem estar instalados.

    Enquanto você instala os pacotes, você pode ver várias telas pop-up de configuração. Você geralmente pode deixar os campos nessas telas em branco.

    sudo apt-get -y install sssd realmd krb5-user samba-common packagekit adcli
  5. Desabilite a resolução de DNS reverso e defina o realm padrão para o FQDN do domínio. Instâncias do Ubuntu devem ser capazes de fazer a resolução inversa no DNS para que um realm possa funcionar. Caso contrário, você precisa desabilitar DNS reverso no /etc/krb5.conf, como a seguir:

    sudo vi /etc/krb5.conf
    [libdefaults] default_realm = EXAMPLE.COM rdns = false
  6. Junte a instância ao diretório com o comando a seguir.

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

    O sAMAccountName para uma conta no domínio example.com que tem privilégios de ingresso no domínio. Digite a senha da conta quando solicitado. Para obter mais informações sobre como delegar esses privilégios, consulte Delegar privilégios de associação ao diretório do AWS Managed Microsoft AD.

    example.com

    O nome do DNS totalmente qualificado do seu diretório.

    ... * Successfully enrolled machine in realm
  7. Ajuste o serviço SSH para permitir autenticação de senha.

    1. Abra o arquivo /etc/ssh/sshd_config em um editor de textos.

      sudo vi /etc/ssh/sshd_config
    2. Defina a configuração PasswordAuthentication como yes.

      PasswordAuthentication yes
    3. Reinicie o serviço SSH.

      sudo systemctl restart sshd.service

      Alternativa:

      sudo service sshd restart
  8. Após a instância ser reiniciada, conecte-se a ela com um cliente SSH e adicione o grupo de administradores delegados da AWS à lista de sudoers executando as etapas a seguir:

    1. Abra o arquivo sudoers com o seguinte comando:

      sudo visudo
    2. Adicione o seguinte ao final do arquivo sudoers e salve-o.

      ## Add the "AWS Delegated Administrators" group from the example.com domain. %AWS\ Delegated\ Administrators@example.com ALL=(ALL:ALL) ALL

      (O exemplo acima usa "\<space>" para criar o caractere de espaço do Linux.)

Restringir o acesso ao login de conta

Como todas as contas estão definidas no Active Directory, por padrão, todos os usuários no diretório podem fazer login na instância. Você pode permitir que somente usuários específicos façam login na instância com ad_access_filter em sssd.conf. Por exemplo:

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

Indica que os usuários só podem ter acesso à instância se participarem de um grupo específico.

cn

O nome comum do grupo que deve ter acesso. Neste exemplo, o nome do grupo é admins.

ou

Essa é a unidade organizacional na qual o grupo acima está localizado. Neste exemplo, o OU é Testou.

dc

Este é o componente de domínio do seu domínio. Neste exemplo, example.

dc

Este é um componente adicional de domínio. Neste exemplo, com.

Você deve adicionar manualmente ad_access_filter ao /etc/sssd/sssd.conf.

Abra o arquivo /etc/sssd/sssd.conf em um editor de textos.

sudo vi /etc/sssd/sssd.conf

Depois disso, seu sssd.conf pode ficar da seguinte forma:

[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)

Para que a configuração seja aplicada, é necessário reiniciar o serviço sssd:

sudo systemctl restart sssd.service

Você também poderia usar o:

sudo service sssd start

Conecte-se à instância

Quando um usuário se conectar à instância usando um cliente SSH, será solicitado o nome do usuário. O usuário pode informar o nome do usuário no formato username@example.com ou EXAMPLE\username. A resposta será semelhante à seguinte, dependendo da distribuição do Linux que você estiver usando:

Amazon Linux, Red Hat Enterprise Linux e 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%