Manuelles Hinzufügen einer Amazon EC2 Linux-Instance zu Ihrem AWS Managed Microsoft AD Active Directory mithilfe von Winbind - AWS Directory Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Manuelles Hinzufügen einer Amazon EC2 Linux-Instance zu Ihrem AWS Managed Microsoft AD Active Directory mithilfe von Winbind

Sie können den Winbind-Dienst verwenden, um Ihre Amazon EC2 Linux-Instances manuell mit einer AWS verwalteten Microsoft AD Active Directory-Domain zu verbinden. Auf diese Weise können Ihre vorhandenen lokalen Active Directory-Benutzer ihre Active Directory-Anmeldeinformationen verwenden, wenn sie auf die Linux-Instanzen zugreifen, die mit Ihrem AWS verwalteten Microsoft AD Active Directory verknüpft sind. Die folgenden Linux-Instance-Distributionen und -Versionen werden unterstützt:

  • Amazon Linux AMI 2018.03.0

  • Amazon Linux 2 (64-Bit x86)

  • Amazon Linux 2023 AMI

  • Red Hat Enterprise Linux 8 (HVM) (64-Bit x86)

  • Ubuntu Server 18.04 LTS und Ubuntu Server 16.04 LTS

  • CentOS 7 x86-64

  • SUSE Linux Enterprise Server 15 SP1

Anmerkung

Andere Linux-Distributionen und -Versionen können funktionieren, sind jedoch nicht getestet worden.

Verbinden Sie eine Linux-Instanz mit Ihrem AWS verwalteten Microsoft AD Active Directory

Wichtig

Einige der folgenden Verfahren können, wenn sie nicht richtig durchgeführt werden, Ihre Instance nicht erreichbar oder unbrauchbar machen. Aus diesem Grund empfehlen wir dringend, eine Sicherung anzufertigen oder einen Snapshot der Instance zu machen, bevor diese Verfahren ausgeführt werden.

So fügen Sie Ihrem Verzeichnis eine Linux-Instance hinzu

Folgen Sie den Schritten für Ihre spezifische Linux-Instance unter Verwendung einer der folgenden Registerkarten:

Amazon Linux/CENTOS/REDHAT
  1. Stellen Sie über einen SSH-Client eine Verbindung zur Instance her.

  2. Konfigurieren Sie die Linux-Instance so, dass sie die DNS-Server-IP-Adressen der AWS Directory Service-bereitgestellten DNS-Server verwendet. Das können Sie entweder in den DHCP-Optionen der VPC oder manuell auf der Instance einrichten. Wenn Sie ihn manuell einrichten möchten, finden Sie im AWS Knowledge Center unter Wie weise ich einer privaten EC2 Amazon-Instance einen statischen DNS-Server zu? Anleitungen zur Einrichtung des persistenten DNS-Servers für Ihre spezielle Linux-Distribution und -Version.

  3. Überprüfen Sie, ob Ihre Linux-Instance auf dem aktuellen Stand ist.

    sudo yum -y update
  4. Installieren Sie die erforderlichen Samba-/Winbind-Pakete auf Ihrer Linux-Instance.

    sudo yum -y install authconfig samba samba-client samba-winbind samba-winbind-clients
  5. Erstellen Sie eine Sicherungskopie der smb.conf-Hauptdatei, damit Sie im Falle eines Fehlers auf diese zurückgreifen können:

    sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
  6. Öffnen Sie die ursprüngliche Konfigurationsdatei [/etc/samba/smb.conf] in einem Texteditor.

    sudo vim /etc/samba/smb.conf

    Geben Sie die Informationen zur Active Directory-Domänenumgebung ein, wie im folgenden Beispiel gezeigt:

    [global] workgroup = example security = ads realm = example.com idmap config * : rangesize = 1000000 idmap config * : range = 1000000-19999999 idmap config * : backend = autorid winbind enum users = no winbind enum groups = no template homedir = /home/%U@%D template shell = /bin/bash winbind use default domain = false
  7. Öffnen Sie die Hosts-Datei [/etc/hosts] in einem Texteditor.

    sudo vim /etc/hosts

    Fügen Sie die private IP-Adresse Ihrer Linux-Instance wie folgt hinzu:

    10.x.x.x Linux_hostname.example.com Linux_hostname
    Anmerkung

    Wenn Sie Ihre IP-Adresse nicht in der /etc/hosts-Datei angegeben haben, erhalten Sie möglicherweise den folgenden DNS-Fehler, während Sie die Instance mit der Domain verbinden:

    No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER

    Dieser Fehler bedeutet, dass die Verbindung erfolgreich war, aber der Befehl [net ads] den DNS-Eintrag nicht im DNS registrieren konnte.

  8. Verbinden Sie die Linux-Instance mit Active Directory mithilfe von net utility.

    sudo net ads join -U join_account@example.com
    join_account@example.com

    Ein Konto in der example.com Domäne, das über Domänenbeitrittsrechte verfügt. Geben Sie das Passwort für das Konto ein, wenn Sie dazu aufgefordert werden. Weitere Informationen zum Erteilen dieser Berechtigungen finden Sie unter Delegieren von Verzeichnisbeitrittsberechtigungen für AWS Managed Microsoft AD.

    example.com

    Der vollständig berechtigte DNS-Name Ihres Verzeichnisses.

    Enter join_account@example.com's password: Using short domain name -- example Joined 'IP-10-x-x-x' to dns domain 'example.com'
  9. Ändern Sie die PAM-Konfigurationsdatei. Verwenden Sie den folgenden Befehl, um die erforderlichen Einträge für die winbind-Authentifizierung hinzuzufügen:

    sudo authconfig --enablewinbind --enablewinbindauth --enablemkhomedir --update
  10. Stellen Sie den SSH-Service so ein, dass er die Passwortauthentifizierung zulässt, indem Sie die /etc/ssh/sshd_config-Datei bearbeiten.

    1. Öffnen Sie die Datei /etc/ssh/sshd_config in einem Text-Editor.

      sudo vi /etc/ssh/sshd_config
    2. Setzen Sie die Einstellung PasswordAuthentication auf yes.

      PasswordAuthentication yes
    3. Starten Sie den SSH-Service neu.

      sudo systemctl restart sshd.service

      Alternative Vorgehensweise:

      sudo service sshd restart
  11. Nachdem die Instance neu gestartet wurde, stellen Sie mit einem beliebigen SSH-Client eine Verbindung zu ihr her und fügen die Root-Rechte für einen Domain-Benutzer oder eine Gruppe zur sudoers-Liste hinzu, indem Sie die folgenden Schritte ausführen:

    1. Öffnen Sie die sudoers - Datei mit dem folgenden Befehl:

      sudo visudo
    2. Fügen Sie die erforderlichen Gruppen oder Benutzer aus Ihrer Trusting- oder Trusted-Domain wie folgt hinzu und speichern Sie sie dann.

      ## Adding Domain Users/Groups. %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL %domainname\\groupname ALL=(ALL:ALL) ALL domainname\\username ALL=(ALL:ALL) ALL %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL Trusted_DomainName\\username ALL=(ALL:ALL) ALL

      (Im obigen Beispiel wird „\<space>“ für das Linux-Leerzeichen verwendet.)

SUSE
  1. Stellen Sie über einen SSH-Client eine Verbindung zur Instance her.

  2. Konfigurieren Sie die Linux-Instance so, dass sie die DNS-Server-IP-Adressen der AWS Directory Service-bereitgestellten DNS-Server verwendet. Das können Sie entweder in den DHCP-Optionen der VPC oder manuell auf der Instance einrichten. Wenn Sie ihn manuell einrichten möchten, finden Sie im AWS Knowledge Center unter Wie weise ich einer privaten EC2 Amazon-Instance einen statischen DNS-Server zu? Anleitungen zur Einrichtung des persistenten DNS-Servers für Ihre spezielle Linux-Distribution und -Version.

  3. Überprüfen Sie, ob Ihre SUSE Linux 15-Instance auf dem aktuellen Stand ist.

    1. Verbinden Sie das Paket-Repository.

      sudo SUSEConnect -p PackageHub/15.1/x86_64
    2. Aktualisieren Sie SUSE.

      sudo zypper update -y
  4. Installieren Sie die erforderlichen Samba-/Winbind-Pakete auf Ihrer Linux-Instance.

    sudo zypper in -y samba samba-winbind
  5. Erstellen Sie eine Sicherungskopie der smb.conf-Hauptdatei, damit Sie im Falle eines Fehlers auf diese zurückgreifen können:

    sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
  6. Öffnen Sie die ursprüngliche Konfigurationsdatei [/etc/samba/smb.conf] in einem Texteditor.

    sudo vim /etc/samba/smb.conf

    Geben Sie die Informationen zu Ihrer Active-Directory-Domainumgebung ein, wie im folgenden Beispiel gezeigt:

    [global] workgroup = example security = ads realm = example.com idmap config * : rangesize = 1000000 idmap config * : range = 1000000-19999999 idmap config * : backend = autorid winbind enum users = no winbind enum groups = no template homedir = /home/%U@%D template shell = /bin/bash winbind use default domain = false
  7. Öffnen Sie die Hosts-Datei [/etc/hosts] in einem Texteditor.

    sudo vim /etc/hosts

    Fügen Sie die private IP-Adresse Ihrer Linux-Instance wie folgt hinzu:

    10.x.x.x Linux_hostname.example.com Linux_hostname
    Anmerkung

    Wenn Sie Ihre IP-Adresse nicht in der /etc/hosts-Datei angegeben haben, erhalten Sie möglicherweise den folgenden DNS-Fehler, während Sie die Instance mit der Domain verbinden:

    No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER

    Dieser Fehler bedeutet, dass die Verbindung erfolgreich war, aber der Befehl [net ads] den DNS-Eintrag nicht im DNS registrieren konnte.

  8. Fügen Sie die Linux-Instance mit folgendem Befehl dem Verzeichnis hinzu.

    sudo net ads join -U join_account@example.com
    join_account

    Der AMAccount s-Name in der example.com Domäne, die über Domänenbeitrittsrechte verfügt. Geben Sie das Passwort für das Konto ein, wenn Sie dazu aufgefordert werden. Weitere Informationen zum Erteilen dieser Berechtigungen finden Sie unter Delegieren von Verzeichnisbeitrittsberechtigungen für AWS Managed Microsoft AD.

    example.com

    Der vollständig qualifizierte DNS-Name Ihres Verzeichnisses.

    Enter join_account@example.com's password: Using short domain name -- example Joined 'IP-10-x-x-x' to dns domain 'example.com'
  9. Ändern Sie die PAM-Konfigurationsdatei. Verwenden Sie den folgenden Befehl, um die erforderlichen Einträge für die Winbind-Authentifizierung hinzuzufügen:

    sudo pam-config --add --winbind --mkhomedir
  10. Öffnen Sie die Konfigurationsdatei Name Service Switch [/etc/nsswitch.conf] in einem Texteditor.

    vim /etc/nsswitch.conf

    Fügen Sie die Winbind-Direktive hinzu, wie unten gezeigt.

    passwd: files winbind shadow: files winbind group: files winbind
  11. Stellen Sie den SSH-Service so ein, dass er die Passwortauthentifizierung zulässt, indem Sie die /etc/ssh/sshd_config-Datei bearbeiten.

    1. Öffnen Sie die Datei /etc/ssh/sshd_config in einem Text-Editor.

      sudo vim /etc/ssh/sshd_config
    2. Setzen Sie die Einstellung PasswordAuthentication auf yes.

      PasswordAuthentication yes
    3. Starten Sie den SSH-Service neu.

      sudo systemctl restart sshd.service

      Alternative Vorgehensweise:

      sudo service sshd restart
  12. Nachdem die Instance neu gestartet wurde, stellen Sie mit einem beliebigen SSH-Client eine Verbindung zu ihr her und fügen der Liste sudoers die Root-Rechte eines Domainbenutzers oder einer -Gruppe hinzu, indem Sie die folgenden Schritte ausführen:

    1. Öffnen Sie die sudoers - Datei mit dem folgenden Befehl:

      sudo visudo
    2. Fügen Sie die erforderlichen Gruppen oder Benutzer aus Ihrer Trusting- oder Trusted-Domain wie folgt hinzu und speichern Sie sie dann.

      ## Adding Domain Users/Groups. %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL %domainname\\groupname ALL=(ALL:ALL) ALL domainname\\username ALL=(ALL:ALL) ALL %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL Trusted_DomainName\\username ALL=(ALL:ALL) ALL

      (Im obigen Beispiel wird „\<space>“ für das Linux-Leerzeichen verwendet.)

Ubuntu
  1. Stellen Sie über einen SSH-Client eine Verbindung zur Instance her.

  2. Konfigurieren Sie die Linux-Instance so, dass sie die DNS-Server-IP-Adressen der AWS Directory Service-bereitgestellten DNS-Server verwendet. Das können Sie entweder in den DHCP-Optionen der VPC oder manuell auf der Instance einrichten. Wenn Sie ihn manuell einrichten möchten, finden Sie im AWS Knowledge Center unter Wie weise ich einer privaten EC2 Amazon-Instance einen statischen DNS-Server zu? Anleitungen zur Einrichtung des persistenten DNS-Servers für Ihre spezielle Linux-Distribution und -Version.

  3. Überprüfen Sie, ob Ihre Linux-Instance auf dem aktuellen Stand ist.

    sudo apt-get -y upgrade
  4. Installieren Sie die erforderlichen Samba-/Winbind-Pakete auf Ihrer Linux-Instance.

    sudo apt -y install samba winbind libnss-winbind libpam-winbind
  5. Erstellen Sie eine Sicherungskopie der smb.conf-Hauptdatei, damit Sie im Falle eines Fehlers auf diese zurückgreifen können.

    sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
  6. Öffnen Sie die ursprüngliche Konfigurationsdatei [/etc/samba/smb.conf] in einem Texteditor.

    sudo vim /etc/samba/smb.conf

    Geben Sie die Informationen zu Ihrer Active-Directory-Domainumgebung ein, wie im folgenden Beispiel gezeigt:

    [global] workgroup = example security = ads realm = example.com idmap config * : rangesize = 1000000 idmap config * : range = 1000000-19999999 idmap config * : backend = autorid winbind enum users = no winbind enum groups = no template homedir = /home/%U@%D template shell = /bin/bash winbind use default domain = false
  7. Öffnen Sie die Hosts-Datei [/etc/hosts] in einem Texteditor.

    sudo vim /etc/hosts

    Fügen Sie die private IP-Adresse Ihrer Linux-Instance wie folgt hinzu:

    10.x.x.x Linux_hostname.example.com Linux_hostname
    Anmerkung

    Wenn Sie Ihre IP-Adresse nicht in der /etc/hosts-Datei angegeben haben, erhalten Sie möglicherweise den folgenden DNS-Fehler, während Sie die Instance mit der Domain verbinden:

    No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER

    Dieser Fehler bedeutet, dass die Verbindung erfolgreich war, aber der Befehl [net ads] den DNS-Eintrag nicht im DNS registrieren konnte.

  8. Verbinden Sie die Linux-Instance mit Active Directory mithilfe von net utility.

    sudo net ads join -U join_account@example.com
    join_account@example.com

    Ein Konto in der example.com Domain, das über Domainbeitrittsrechte verfügt. Geben Sie das Passwort für das Konto ein, wenn Sie dazu aufgefordert werden. Weitere Informationen zum Erteilen dieser Berechtigungen finden Sie unter Delegieren von Verzeichnisbeitrittsberechtigungen für AWS Managed Microsoft AD.

    example.com

    Der vollständig berechtigte DNS-Name Ihres Verzeichnisses.

    Enter join_account@example.com's password: Using short domain name -- example Joined 'IP-10-x-x-x' to dns domain 'example.com'
  9. Ändern Sie die PAM-Konfigurationsdatei. Verwenden Sie den folgenden Befehl, um die erforderlichen Einträge für die Winbind-Authentifizierung hinzuzufügen:

    sudo pam-auth-update --add --winbind --enable mkhomedir
  10. Öffnen Sie die Konfigurationsdatei Name Service Switch [/etc/nsswitch.conf] in einem Texteditor.

    vim /etc/nsswitch.conf

    Fügen Sie die Winbind-Direktive hinzu, wie unten gezeigt.

    passwd: compat winbind group: compat winbind shadow: compat winbind
  11. Stellen Sie den SSH-Service so ein, dass er die Passwortauthentifizierung zulässt, indem Sie die /etc/ssh/sshd_config-Datei bearbeiten.

    1. Öffnen Sie die Datei /etc/ssh/sshd_config in einem Text-Editor.

      sudo vim /etc/ssh/sshd_config
    2. Setzen Sie die Einstellung PasswordAuthentication auf yes.

      PasswordAuthentication yes
    3. Starten Sie den SSH-Service neu.

      sudo systemctl restart sshd.service

      Alternative Vorgehensweise:

      sudo service sshd restart
  12. Nachdem die Instance neu gestartet wurde, stellen Sie mit einem beliebigen SSH-Client eine Verbindung zu ihr her und fügen der Liste sudoers die Root-Rechte eines Domainbenutzers oder einer -Gruppe hinzu, indem Sie die folgenden Schritte ausführen:

    1. Öffnen Sie die sudoers - Datei mit dem folgenden Befehl:

      sudo visudo
    2. Fügen Sie die erforderlichen Gruppen oder Benutzer aus Ihrer Trusting- oder Trusted-Domain wie folgt hinzu und speichern Sie sie dann.

      ## Adding Domain Users/Groups. %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL %domainname\\groupname ALL=(ALL:ALL) ALL domainname\\username ALL=(ALL:ALL) ALL %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL Trusted_DomainName\\username ALL=(ALL:ALL) ALL

      (Im obigen Beispiel wird „\<space>“ für das Linux-Leerzeichen verwendet.)

Connect zur Linux-Instanz her

Wenn ein Benutzer die Verbindung zur Instance über einen SSH-Client herstellt, wird er zur Eingabe des Benutzernamens aufgefordert. Der Benutzer kann den Benutzernamen entweder im Format username@example.com oder EXAMPLE\username eingeben. Je nachdem, welche Linux-Distribution Sie verwenden, wird die Antwort etwa wie folgt aussehen:

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