Manuelles Hinzufügen einer Amazon EC2 Linux-Instance zu Ihrem Simple AD Active Directory - 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 Simple AD Active Directory

Neben Amazon EC2 Windows-Instances können Sie auch bestimmte Amazon EC2 Linux-Instances zu Ihrem Simple AD Active Directory hinzufügen. 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.

Voraussetzungen

Bevor Sie eine Amazon-Linux-, CentOS-, Red-Hat- oder Ubuntu-Instance mit Ihrem Verzeichnis verbinden können, muss die Instance zunächst wie unter Fügen Sie eine Amazon EC2 Linux-Instance nahtlos zu Ihrem Simple AD Active Directory hinzu beschrieben gestartet werden.

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
  1. Stellen Sie über einen SSH-Client eine Verbindung zur Instance her.

  2. Konfigurieren Sie die Linux-Instanz 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 Amazon-Linux-64bit-Instance auf dem aktuellen Stand ist.

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

    Anmerkung

    Einige dieser Pakete sind möglicherweise bereits installiert.

    Wenn Sie die Pakete installieren, werden Ihnen mehrere Pop-up-Konfigurationsbildschirme gezeigt. Sie können in der Regel die Felder in diesen Bildschirmen leer lassen.

    Amazon Linux
    sudo yum install samba-common-tools realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
    Anmerkung

    Hilfe bei der Bestimmung der von Ihnen verwendeten Amazon Linux-Version finden Sie unter Identifizieren von Amazon Linux-Images im EC2 Amazon-Benutzerhandbuch für Linux-Instances.

  5. Fügen Sie die Instance mit folgendem Befehl zur Instance hinzu.

    sudo realm join -U join_account@EXAMPLE.COM example.com --verbose
    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.

    ... * Successfully enrolled machine in realm
  6. Konfigurieren Sie den SSH-Service so, dass die Passwortauthentifizierung zulässig ist.

    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
  7. Nachdem die Instance neu gestartet wurde, stellen Sie eine Verbindung zu einem SSH-Client her und fügen Sie dann die Domain-Administratorengruppe der 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 Folgendes am Ende der sudoers-Datei hinzu und speichern Sie die Datei.

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

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

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

  2. Konfigurieren Sie die Linux-Instanz 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 CentOS 7-Instance auf dem aktuellen Stand ist.

    sudo yum -y update
  4. Installieren Sie die erforderlichen CentOS 7-Pakete auf Ihre Linux-Instance.

    Anmerkung

    Einige dieser Pakete sind möglicherweise bereits installiert.

    Wenn Sie die Pakete installieren, werden Ihnen mehrere Pop-up-Konfigurationsbildschirme gezeigt. Sie können in der Regel die Felder in diesen Bildschirmen leer lassen.

    sudo yum -y install sssd realmd krb5-workstation samba-common-tools
  5. Fügen Sie die Instance mit folgendem Befehl zur Instance hinzu.

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

    Ein Konto in der example.com Domain, 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.

    ... * Successfully enrolled machine in realm
  6. Konfigurieren Sie den SSH-Service so, dass die Passwortauthentifizierung zulässig ist.

    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
  7. Nachdem die Instance neu gestartet wurde, stellen Sie eine Verbindung zu einem SSH-Client her und fügen Sie dann die Domain-Administratorengruppe der 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 Folgendes am Ende der sudoers-Datei hinzu und speichern Sie die Datei.

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

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

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

  2. Konfigurieren Sie die Linux-Instanz 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. Stellen Sie sicher, dass die Red Hat - 64bit-Instance auf dem neuesten Stand ist.

    sudo yum -y update
  4. Installieren Sie die erforderlichen Red Hat-Pakete auf Ihrer Linux-Instance.

    Anmerkung

    Einige dieser Pakete sind möglicherweise bereits installiert.

    Wenn Sie die Pakete installieren, werden Ihnen mehrere Pop-up-Konfigurationsbildschirme gezeigt. Sie können in der Regel die Felder in diesen Bildschirmen leer lassen.

    sudo yum -y install sssd realmd krb5-workstation samba-common-tools
  5. Fügen Sie die Instance mit folgendem Befehl zur Instance hinzu.

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

    Der AMAccounts-Name für 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.

    ... * Successfully enrolled machine in realm
  6. Konfigurieren Sie den SSH-Service so, dass die Passwortauthentifizierung zulässig ist.

    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
  7. Nachdem die Instance neu gestartet wurde, stellen Sie eine Verbindung zu einem SSH-Client her und fügen Sie dann die Domain-Administratorengruppe der 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 Folgendes am Ende der sudoers-Datei hinzu und speichern Sie die Datei.

      ## Add the "Domain Admins" group from the example.com domain. %Domain\ Admins@example.com 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-Instanz 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. Stellen Sie sicher, dass Ihre Ubuntu - 64bit-Instance auf dem neuesten Stand ist.

    sudo apt-get update sudo apt-get -y upgrade
  4. Installieren Sie die erforderlichen Ubuntu-Pakete auf Ihrer Linux-Instance.

    Anmerkung

    Einige dieser Pakete sind möglicherweise bereits installiert.

    Wenn Sie die Pakete installieren, werden Ihnen mehrere Pop-up-Konfigurationsbildschirme gezeigt. Sie können in der Regel die Felder in diesen Bildschirmen leer lassen.

    sudo apt-get -y install sssd realmd krb5-user samba-common packagekit adcli
  5. Deaktivieren Sie die Reverse DNS-Auflösung und legen Sie den Standardbereich auf den FQDN Ihrer Domain fest. Ubuntu-Instances müssen im DNS reverse-auflösbar sein, bevor der Bereich genutzt werden kann. Andernfalls müssen Sie Reverse DNS in /etc/krb 5.conf wie folgt deaktivieren:

    sudo vi /etc/krb5.conf
    [libdefaults] default_realm = EXAMPLE.COM rdns = false
  6. Fügen Sie die Instance mit folgendem Befehl zur Instance hinzu.

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

    Der AMAccounts-Name für 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.

    ... * Successfully enrolled machine in realm
  7. Konfigurieren Sie den SSH-Service so, dass die Passwortauthentifizierung zulässig ist.

    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
  8. Nachdem die Instance neu gestartet wurde, stellen Sie eine Verbindung zu einem SSH-Client her und fügen Sie dann die Domain-Administratorengruppe der 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 Folgendes am Ende der sudoers-Datei hinzu und speichern Sie die Datei.

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

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

Anmerkung

Wenn Sie bei der Verwendung von Simple AD ein Benutzerkonto auf einer Linux-Instance mit der Option „Änderung des Passworts bei der nächsten Anmeldung erzwingen“ erstellen, kann dieser Benutzer sein Passwort nicht sofort mit kpasswd ändern. Zur erstmaligen Änderung des Passworts muss ein Domain-Administrator das Benutzerpasswort über die Active-Directory-Verwaltungstools aktualisieren.

Konten von eine Linux-Instance verwalten

Zum Verwalten von Konten in Simple AD über eine Linux-Instance müssen Sie spezifische Konfigurationsdateien folgendermaßen in Ihrer Linux-Instance aktualisieren:

  1. Setzen Sie krb5_use_kdcinfo in der Datei/.conf auf False. etc/sssd/sssd Zum Beispiel:

    [domain/example.com] krb5_use_kdcinfo = False
  2. Damit diese Konfiguration wirksam wird, müssen Sie den sssd-Service neu starten:

    $ sudo systemctl restart sssd.service

    Alternativ können Sie:

    $ sudo service sssd start
  3. Falls Sie Benutzer aus einer CentOS-Linux-Instance verwalten, müssen Sie auch die Datei /etc/smb.conf bearbeiten, um Folgendes einzubeziehen:

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

Einschränken des Kontoanmeldungszugriffs

Da alle Konten in Active Directory standardmäßig definiert sind, können sich alle Benutzer aus dem Verzeichnis bei der Instance anmelden. Mit ad_access_filter in sssd.conf können Sie festlegen, dass sich nur bestimmte Benutzer bei der Instance anmelden können. Zum Beispiel:

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

Gibt an, dass Benutzer nur Zugriff auf die Instance haben, wenn sie Mitglied einer bestimmten Gruppe sind.

cn

Der allgemeine Name der Gruppe, die Zugriff haben soll. In diesem Beispiel lautet der Gruppenname. admins

ou

Dies ist die Organisationseinheit, in der sich die oben genannte Gruppe befindet. In diesem Beispiel ist die OrganisationseinheitTestou.

dc

Dies ist die Domainkomponente Ihrer Domain. In diesem Beispiel example.

dc

Hierbei handelt es sich um eine zusätzliche Domainkomponente. In diesem Beispiel com.

Sie müssen ad_access_filter manuell zu /etc/sssd/sssd.conf hinzufügen.

Öffnen Sie die Datei /etc/sssd/sssd.conf in einem Text-Editor.

sudo vi /etc/sssd/sssd.conf

Danach sieht sssd.conf wie folgt aus:

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

Damit die Konfiguration wirksam wird, müssen Sie den sssd-Service neu starten:

sudo systemctl restart sssd.service

Alternativ können Sie:

sudo service sssd restart

ID-Zuordnung

Die ID-Zuordnung kann mit zwei Methoden durchgeführt werden, um ein einheitliches Benutzererlebnis zwischen UNIX/Linux User Identifier (UID) und Group Identifier (GID) und Windows und Active Directory Identitäten mit Sicherheitsbezeichnungen (SID). Diese Methoden sind:

  1. Zentralisiert

  2. Verteilt

Anmerkung

Zentralisierte Zuordnung von Benutzeridentitäten in Active Directory erfordert Portable Operating System Interface oder POSIX.

Zentralisierte Zuordnung von Benutzeridentitäten

Active Directory oder ein anderer LDAP-Dienst (Lightweight Directory Access Protocol) stellt den Linux-Benutzern UID und GID zur Verfügung. In Active Directory, werden diese Bezeichner in den Benutzerattributen gespeichert, wenn die POSIX-Erweiterung konfiguriert ist:

  • UID — Der Linux-Benutzername (String)

  • UID-Nummer — Die Linux-Benutzer-ID-Nummer (Integer)

  • GID-Nummer — Die Linux-Gruppen-ID-Nummer (Integer)

Um eine Linux-Instanz für die Verwendung der UID und GID von zu konfigurieren Active Directory, wird ldap_id_mapping = False in der Datei sssd.conf festgelegt. Bevor Sie diesen Wert festlegen, stellen Sie sicher, dass Sie den Benutzern und Gruppen in eine UID, UID-Nummer und GID-Nummer hinzugefügt haben Active Directory.

Zuordnung verteilter Benutzeridentitäten

Wenn Active Directory verfügt nicht über die POSIX-Erweiterung, oder wenn Sie sich dafür entscheiden, die Identitätszuweisung nicht zentral zu verwalten, kann Linux die UID- und GID-Werte berechnen. Linux verwendet den eindeutigen Security Identifier (SID) des Benutzers, um die Konsistenz aufrechtzuerhalten.

Um die verteilte Benutzer-ID-Zuordnung zu konfigurieren, legen Sie dies ldap_id_mapping = True in der Datei sssd.conf fest.

Häufige Probleme

Wenn Sie dies festlegenldap_id_mapping = False, schlägt das Starten des SSSD-Dienstes manchmal fehl. Der Grund für diesen Fehler liegt darin, dass Änderungen UIDs nicht unterstützt werden. Wir empfehlen Ihnen, den SSSD-Cache zu löschen, wenn Sie von ID-Zuordnung zu POSIX-Attributen oder von POSIX-Attributen zu ID-Zuordnung wechseln. Weitere Informationen zur ID-Zuordnung und den ldap_id_mapping-Parametern finden Sie in der Manpage sssd-ldap (8) in der Linux-Befehlszeile.

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%