Einbinden eines virtuellen Ubuntu Linux-Computers in eine von Microsoft Entra Domain Services verwaltete Domäne
Damit sich Benutzer*innen mit einem einzigen Satz von Anmeldeinformationen bei VMs in Azure anmelden können, binden Sie VMs in eine von Microsoft Entra Domain Services verwaltete Domäne ein. Wenn Sie eine VM in eine durch Domain Services verwaltete Domäne einbinden, können Benutzerkonten und Anmeldeinformationen aus der Domäne zum Anmelden und Verwalten von Servern verwendet werden. Gruppenmitgliedschaften aus der verwalteten Domäne werden ebenfalls angewandt, damit Sie den Zugriff auf Dateien oder Dienste auf der VM steuern können.
In diesem Artikel wird gezeigt, wie Sie eine Ubuntu Linux-VM in eine verwaltete Domäne einbinden.
Voraussetzungen
Für dieses Tutorial benötigen Sie die folgenden Ressourcen und Berechtigungen:
- Ein aktives Azure-Abonnement.
- Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein Konto.
- Einen mit Ihrem Abonnement verknüpften Microsoft Entra-Mandanten, der entweder mit einem lokalen Verzeichnis synchronisiert oder ein reines Cloudverzeichnis ist.
- Erstellen Sie einen Microsoft Entra-Mandanten, oder verknüpfen Sie ein Azure-Abonnement mit Ihrem Konto, sofern erforderlich.
- Eine von Microsoft Entra Domain Services verwaltete Domäne, die in Ihrem Microsoft Entra-Mandanten aktiviert und konfiguriert ist
- Im ersten Tutorial wird bei Bedarf eine von Microsoft Entra Domain Services verwaltete Domäne erstellt und konfiguriert.
- Ein Benutzerkonto, das Teil der verwalteten Domäne ist. Stellen Sie sicher, dass das Attribut „SAMAccountName“ für den Benutzer nicht automatisch generiert wird. Wenn mehrere Benutzerkonten im Microsoft Entra-Mandanten über dasselbe Attribut „mailNickname“ verfügen, wird das Attribut „SAMAccountName“ für jeden Benutzer automatisch generiert. Weitere Informationen finden Sie unter Synchronisieren von Objekten und Anmeldeinformationen in einer von Microsoft Entra Domain Services verwalteten Domäne.
- Eindeutige Linux-VM-Namen, die maximal 15 Zeichen umfassen. So vermeiden Sie Konflikte in Active Directory, die durch abgeschnittene Namen entstehen.
Erstellen einer Ubuntu Linux-VM und Herstellen einer Verbindung
Wenn Sie über eine vorhandene Ubuntu Linux-VM in Azure verfügen, stellen Sie über SSH eine Verbindung mit dieser VM her. Dann fahren Sie mit dem nächsten Schritt fort und beginnen mit der Konfiguration der VM.
Wenn Sie eine Ubuntu Linux-VM erstellen müssen oder eine Test-VM zur Verwendung mit diesem Artikel erstellen möchten, können Sie eine der folgenden Methoden verwenden:
Achten Sie beim Erstellen der VM auf die Einstellungen des virtuellen Netzwerks, um sicherzustellen, dass die VM mit der verwalteten Domäne kommunizieren kann:
- Stellen Sie die VM in demselben oder einem mittels Peering verbundenen virtuellen Netzwerk bereit, in dem Sie Microsoft Entra Domain Services aktiviert haben.
- Stellen Sie die VM in einem anderen Subnetz als Ihre verwaltete Microsoft Entra Domain Services-Domäne bereit.
Nachdem die VM bereitgestellt wurde, führen Sie die Schritte zum Herstellen einer Verbindung mit der VM über SSH aus.
Konfigurieren der Datei „hosts“
Um sicherzustellen, dass der VM-Hostname ordnungsgemäß für die verwaltete Domäne konfiguriert ist, bearbeiten Sie die Datei /etc/hosts, und legen Sie den Hostnamen fest:
sudo vi /etc/hosts
Aktualisieren Sie in der Datei hosts die Adresse localhost. Siehe folgendes Beispiel:
- aaddscontoso.com ist der DNS-Domänenname Ihrer verwalteten Domäne.
- ubuntu ist der Hostname Ihrer Ubuntu-VM, die Sie in die verwaltete Domäne einbinden.
Aktualisieren Sie diese Namen mit Ihren eigenen Werten:
127.0.0.1 ubuntu.aaddscontoso.com ubuntu
Anschließend speichern und beenden Sie die Datei hosts mit dem Befehl :wq
im Editor.
Installieren erforderlicher Pakete
Die VM benötigt einige zusätzliche Pakete, damit sie in die verwaltete Domäne eingebunden werden kann. Zum Installieren und Konfigurieren dieser Pakete aktualisieren und installieren Sie die Tools zum Einbinden in eine Domäne mit apt-get
.
Während der Kerberos-Installation werden Sie vom Paket krb5-user aufgefordert, den Bereichsnamen in Großbuchstaben einzugeben. Wenn der Name Ihrer verwalteten Domäne z. B. aaddscontoso.com lautet, geben Sie als Bereich AADDSCONTOSO.COM ein. Die Installation schreibt die Abschnitte [realm]
und [domain_realm]
in die Konfigurationsdatei /etc/krb5.conf. Stellen Sie sicher, dass Sie den Bereich in Großbuchstaben angeben:
sudo apt-get update
sudo apt-get install krb5-user samba sssd sssd-tools libnss-sss libpam-sss ntp ntpdate realmd adcli
Konfigurieren von NTP (Network Time Protocol)
Damit die Domänenkommunikation ordnungsgemäß funktioniert, müssen Datum und Uhrzeit Ihrer Ubuntu-VM mit der verwalteten Domäne synchronisiert werden. Fügen Sie den NTP-Hostnamen Ihrer verwalteten Domäne in die Datei /etc/ntp.conf ein.
Öffnen Sie die Datei ntp.conf mit einem Editor:
sudo vi /etc/ntp.conf
Erstellen Sie in der Datei ntp.conf eine Zeile, um den DNS-Namen Ihrer verwalteten Domäne hinzuzufügen. Im folgenden Beispiel wird ein Eintrag für aaddscontoso.com hinzugefügt. Verwenden Sie den eigenen DNS-Namen:
server aaddscontoso.com
Anschließend speichern und beenden Sie die Datei ntp.conf mit dem Befehl
:wq
im Editor.Um sicherzustellen, dass die VM mit der verwalteten Domäne synchronisiert wird, sind die folgenden Schritte erforderlich:
- Stoppen des NTP-Servers
- Aktualisieren von Datum und Uhrzeit aus der verwalteten Domäne
- Starten des NTP-Diensts
Führen Sie für diese Schritte die folgenden Befehle aus. Verwenden Sie beim Befehl
ntpdate
Ihren eigenen DNS-Namen:sudo systemctl stop ntp sudo ntpdate aaddscontoso.com sudo systemctl start ntp
Einbinden der VM in die verwaltete Domäne
Nachdem Sie die erforderlichen Pakete auf der VM installiert und NTP konfiguriert haben, binden Sie die VM in die verwaltete Domäne ein.
Verwenden Sie den Befehl
realm discover
, um die verwaltete Domäne zu ermitteln. Im folgenden Beispiel wird der Bereich AADDSCONTOSO.COM erkannt. Geben Sie den Namen Ihrer eigenen verwalteten Domäne in GROSSBUCHSTABEN an:sudo realm discover AADDSCONTOSO.COM
Wenn Ihre verwaltete Domäne nicht mit dem Befehl
realm discover
gefunden werden kann, führen Sie die folgenden Schritte zur Problembehandlung aus:- Vergewissern Sie sich, dass die VM die Domäne erreichen kann. Versuchen Sie
ping aaddscontoso.com
, um zu überprüfen, ob eine positive Antwort zurückgegeben wird. - Vergewissern Sie sich, dass die VM im selben oder einem mittels Peering verbundenen virtuellen Netzwerk bereitgestellt wurde, in dem die verwaltete Domäne verfügbar ist.
- Vergewissern Sie sich, dass die DNS-Servereinstellungen für das virtuelle Netzwerk so aktualisiert wurden, dass auf die Domänencontroller der verwalteten Domäne verwiesen wird.
- Vergewissern Sie sich, dass die VM die Domäne erreichen kann. Versuchen Sie
Initialisieren Sie nun Kerberos mit dem Befehl
kinit
. Geben Sie einen Benutzer an, der Mitglied der verwalteten Domäne ist. Fügen Sie einer Gruppe ein Benutzerkonto in Microsoft Entra ID hinzu, sofern erforderlich.Auch hier muss der Name der verwalteten Domäne in GROSSBUCHSTABEN eingegeben werden. Im folgenden Beispiel wird das Konto mit dem Namen
contosoadmin@aaddscontoso.com
zum Initialisieren von Kerberos verwendet. Geben Sie Ihr eigenes Benutzerkonto ein, das Teil der verwalteten Domäne ist:sudo kinit -V contosoadmin@AADDSCONTOSO.COM
Binden Sie schließlich die VM mit dem Befehl
realm join
in die verwaltete Domäne ein. Verwenden Sie dasselbe Benutzerkonto in der verwalteten Domäne, das Sie im vorherigen Befehlkinit
angegeben haben, z. B.contosoadmin@AADDSCONTOSO.COM
:sudo realm join --verbose AADDSCONTOSO.COM -U 'contosoadmin@AADDSCONTOSO.COM' --install=/
Das Einbinden der VM in die verwaltete Domäne dauert einen Moment. Die folgende Beispielausgabe zeigt, dass die VM erfolgreich in die verwaltete Domäne eingebunden wurde:
Successfully enrolled machine in realm
Wenn die Einbindung in die Domäne für die VM nicht erfolgreich abgeschlossen werden kann, stellen Sie sicher, dass die Netzwerksicherheitsgruppe der VM ausgehenden Kerberos-Datenverkehr über TCP und UDP-Port 464 an das Subnetz des virtuellen Netzwerks für Ihre verwaltete Domäne zulässt.
Wenn Sie die Fehlermeldung Nicht angegebener GSS-Fehler. Untergeordneter Code kann weitere Informationen enthalten (Server nicht in der Kerberos-Datenbank gefunden) erhalten haben, öffnen Sie die Datei /etc/krb5.conf, fügen Sie den folgenden Code im Abschnitt [libdefaults]
hinzu, und versuchen Sie es noch mal:
rdns=false
Aktualisieren der SSSD-Konfiguration
Eines der in einem vorherigen Schritt installierten Pakete war das SSSD-Paket (System Security Services Daemon). Wenn ein Benutzer versucht, sich mit Domänenanmeldeinformationen bei einer VM anzumelden, leitet SSSD die Anforderung an einen Authentifizierungsanbieter weiter. In diesem Szenario wird Domain Services von SSSD zum Authentifizieren der Anforderung verwendet.
Öffnen Sie die Datei sssd_conf mit einem Editor:
sudo vi /etc/sssd/sssd.conf
Kommentieren Sie die Zeile für use_fully_qualified_names folgendermaßen aus:
# use_fully_qualified_names = True
Anschließend speichern und beenden Sie die Datei sssd_conf mit dem Befehl
:wq
im Editor.Starten Sie den SSSD-Dienst neu, um die Änderung zu übernehmen:
sudo systemctl restart sssd
Konfigurieren von Benutzerkonto- und Gruppeneinstellungen
Nachdem die VM in die verwaltete Domäne eingebunden und für die Authentifizierung konfiguriert wurde, müssen einige Benutzerkonfigurationen durchgeführt werden. Diese Konfigurationsänderungen umfassen das Zulassen der kennwortbasierten Authentifizierung und das automatische Erstellen von Basisverzeichnissen auf der lokalen VM bei der ersten Anmeldung von Domänenbenutzern.
Zulassen der Kennwortauthentifizierung für SSH
Standardmäßig können sich Benutzer nur mithilfe der auf einen öffentlichen Schlüssel basierenden SSH-Authentifizierung bei einer VM anmelden. Die kennwortbasierte Authentifizierung schlägt fehl. Wenn Sie die VM in eine verwalteten Domäne einbinden, müssen diese Domänenkonten die kennwortbasierte Authentifizierung verwenden. Aktualisieren Sie die SSH-Konfiguration wie folgt, um die kennwortbasierte Authentifizierung zuzulassen.
Öffnen Sie die Datei sshd_conf mit einem Editor:
sudo vi /etc/ssh/sshd_config
Aktualisieren Sie die Zeile für PasswordAuthentication in yes:
PasswordAuthentication yes
Anschließend speichern und beenden Sie die Datei sshd_conf mit dem Befehl
:wq
im Editor.Starten Sie den SSH-Dienst neu, um die Änderungen zu übernehmen und Benutzern das Anmelden mit einem Kennwort zu ermöglichen:
sudo systemctl restart ssh
Konfigurieren der automatischen Erstellung des Basisverzeichnisses
Führen Sie die folgenden Schritte aus, um die automatische Erstellung des Basisverzeichnisses bei der ersten Anmeldung eines Benutzers zu aktivieren:
Öffnen Sie die Datei „
/etc/pam.d/common-session
“ in einem Editor:sudo vi /etc/pam.d/common-session
Fügen Sie die folgende Zeile unterhalb der Zeile
session optional pam_sss.so
in diese Datei ein:session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
Anschließend speichern und beenden Sie die Datei common-session mit dem Befehl
:wq
im Editor.
Erteilen von sudo-Berechtigungen für die Gruppe „AAD DC-Administratoren“
Um Mitgliedern der Gruppe AAD DC-Administratoren Administratorrechte für die Ubuntu-VM zu erteilen, fügen Sie /etc/sudoers einen Eintrag hinzu. Nach dem Hinzufügen können Mitglieder der Gruppe AAD DC-Administratoren den Befehl sudo
auf der Ubuntu-VM verwenden.
Öffnen Sie die Datei sudoers zur Bearbeitung:
sudo visudo
Fügen Sie den folgenden Eintrag am Ende der Datei /etc/sudoers hinzu:
# Add 'AAD DC Administrators' group members as admins. %AAD\ DC\ Administrators ALL=(ALL) NOPASSWD:ALL
Anschließend speichern und beenden Sie den Editor mit dem Befehl
Ctrl-X
.
Anmelden bei der VM mit einem Domänenkonto
Um zu überprüfen, ob die VM erfolgreich in die verwaltete Domäne eingebunden wurde, starten Sie eine neue SSH-Verbindung mithilfe eines Domänenbenutzerkontos. Vergewissern Sie sich, dass ein Basisverzeichnis erstellt wurde und die Gruppenmitgliedschaft aus der Domäne angewendet wird.
Erstellen Sie eine neue SSH-Verbindung über die Konsole. Verwenden Sie ein Domänenkonto, das der verwalteten Domäne angehört, verwenden Sie den Befehl
ssh -l
(z. B.contosoadmin@aaddscontoso.com
), und geben Sie dann die Adresse Ihrer VM ein (z. B. ubuntu.aaddscontoso.com). Bei Verwendung von Azure Cloud Shell verwenden Sie die öffentliche IP-Adresse der VM anstelle des internen DNS-Namens.sudo ssh -l contosoadmin@AADDSCONTOSO.com ubuntu.aaddscontoso.com
Wenn Sie erfolgreich eine Verbindung mit der VM hergestellt haben, vergewissern Sie sich, dass das Basisverzeichnis ordnungsgemäß initialisiert wurde:
sudo pwd
Sie sollten sich mit Ihrem eigenen Verzeichnis, das dem Benutzerkonto entspricht, im Verzeichnis /home befinden.
Überprüfen Sie nun, ob die Gruppenmitgliedschaften ordnungsgemäß aufgelöst werden:
sudo id
Ihre Gruppenmitgliedschaften aus der verwalteten Domäne sollten angezeigt werden.
Wenn Sie sich als Mitglied der Gruppe AAD DC-Administratoren bei der VM angemeldet haben, überprüfen Sie, ob Sie den Befehl
sudo
ordnungsgemäß verwenden können:sudo apt-get update
Nächste Schritte
Wenn beim Verbinden der VM mit der verwalteten Domäne oder bei der Anmeldung mit einem Domänenkonto Probleme auftreten, lesen Sie Behandeln von Problemen mit dem Einbinden in eine Domäne.