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

  • RedHat Enterprise Linux 8 (HVM) (64-Bit-x86)

  • Ubuntu Server 18.04 LTS und Ubuntu Server 16.04 LTS

  • CentOS 7 x86-64

  • SUSELinux Unternehmensserver 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 mit einem beliebigen SSH Client eine Connect zur Instanz her.

  2. Konfigurieren Sie die Linux-Instanz so, dass sie die DNS Server-IP-Adressen der AWS Directory Service bereitgestellten DNS Server verwendet. Sie können dies tun, indem Sie es entweder im DHCP Optionssatz einrichten, der an die angehängt ist, VPC oder indem Sie es manuell auf der Instanz 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 EC2Amazon-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 im 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.

    ... * Successfully enrolled machine in realm
  6. Stellen Sie den SSH Dienst so ein, dass er die Kennwortauthentifizierung zulässt.

    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. Den Service SSH neu starten.

      sudo systemctl restart sshd.service

      Alternative Vorgehensweise:

      sudo service sshd restart
  7. Stellen Sie nach dem Neustart der Instanz mit einem beliebigen SSH Client eine Verbindung zu ihr her und fügen Sie die Domain-Admins-Gruppe zur Sudoer-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 mit einem beliebigen SSH Client eine Connect zur Instanz her.

  2. Konfigurieren Sie die Linux-Instanz so, dass sie die DNS Server-IP-Adressen der AWS Directory Service bereitgestellten DNS Server verwendet. Sie können dies tun, indem Sie es entweder im DHCP Optionssatz einrichten, der an die angehängt ist, VPC oder indem Sie es manuell auf der Instanz 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 im 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.

    ... * Successfully enrolled machine in realm
  6. Stellen Sie den SSH Dienst so ein, dass er die Kennwortauthentifizierung zulässt.

    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. Den Service SSH neu starten.

      sudo systemctl restart sshd.service

      Alternative Vorgehensweise:

      sudo service sshd restart
  7. Stellen Sie nach dem Neustart der Instanz mit einem beliebigen SSH Client eine Verbindung zu ihr her und fügen Sie die Domain-Admins-Gruppe zur Sudoer-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 mit einem beliebigen SSH Client eine Connect zur Instanz her.

  2. Konfigurieren Sie die Linux-Instanz so, dass sie die DNS Server-IP-Adressen der AWS Directory Service bereitgestellten DNS Server verwendet. Sie können dies tun, indem Sie es entweder im DHCP Optionssatz einrichten, der an die angehängt ist, VPC oder indem Sie es manuell auf der Instanz 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 sAMAccountName für ein Konto 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.

    ... * Successfully enrolled machine in realm
  6. Stellen Sie den SSH Dienst so ein, dass er die Kennwortauthentifizierung zulässt.

    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. Den Service SSH neu starten.

      sudo systemctl restart sshd.service

      Alternative Vorgehensweise:

      sudo service sshd restart
  7. Stellen Sie nach dem Neustart der Instanz mit einem beliebigen SSH Client eine Verbindung zu ihr her und fügen Sie die Domain-Admins-Gruppe zur Sudoer-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 mit einem beliebigen SSH Client eine Connect zur Instanz her.

  2. Konfigurieren Sie die Linux-Instanz so, dass sie die DNS Server-IP-Adressen der AWS Directory Service bereitgestellten DNS Server verwendet. Sie können dies tun, indem Sie es entweder im DHCP Optionssatz einrichten, der an die angehängt ist, VPC oder indem Sie es manuell auf der Instanz 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 umgekehrte DNS Auflösung und legen Sie den Standard-Realm auf den Bereich Ihrer Domain festFQDN. Ubuntu-Instanzen müssen rückwärts auflösbar sein, DNS bevor der Realm funktioniert. 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 sAMAccountName für ein Konto 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.

    ... * Successfully enrolled machine in realm
  7. Stellen Sie den SSH Dienst so ein, dass er die Kennwortauthentifizierung zulässt.

    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. Den Service SSH neu starten.

      sudo systemctl restart sshd.service

      Alternative Vorgehensweise:

      sudo service sshd restart
  8. Stellen Sie nach dem Neustart der Instanz mit einem beliebigen SSH Client eine Verbindung zu ihr her und fügen Sie die Domain-Admins-Gruppe zur Sudoer-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 Beispielsweise:

    [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. Beispielsweise:

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 Organisationseinheit Testou.

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 Sicherheitsbezeichner (SID) -Identitäten.

  1. Zentralisiert

  2. Verteilt

Anmerkung

Zentralisierte Zuordnung von Benutzeridentitäten in Active Directory erfordert eine tragbare Betriebssystemschnittstelle oderPOSIX.

Zentralisierte Zuordnung von Benutzeridentitäten

Active Directory oder ein anderer Lightweight Directory Access Protocol (LDAP) -Dienst bietet UID und GID für Linux-Benutzer. In Active Directory, diese Identifikatoren werden in den Benutzerattributen gespeichert:

  • UID- Der Linux-Benutzername (String)

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

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

Um eine Linux-Instance für die Verwendung GID von UID und 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 UID Gruppen in eine UID GID Zahl und eine Zahl hinzugefügt haben Active Directory.

Zuordnung verteilter Benutzeridentitäten

Wenn Active Directory hat nicht die POSIX Erweiterung, oder wenn Sie sich dafür entscheiden, die Identitätszuweisung nicht zentral zu verwalten, kann Linux die GID Werte UID und berechnen. Linux verwendet die eindeutige Sicherheits-ID (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.

Connect zur Linux-Instanz her

Wenn ein Benutzer über einen SSH Client eine Verbindung mit der Instance herstellt, wird er zur Eingabe seines 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

SUSELinux

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%