將 Red Hat Enterprise Linux 虛擬機器加入 Microsoft Entra Domain Services 受控網域

若要讓使用者使用單一認證集合登入 Azure 中的虛擬機器(VM),您可以將 VM 加入 Microsoft Entra Domain Services 受控網域。 當您將 VM 加入 Domain Services 受控網域時,網域中的使用者帳戶和認證可用來登入和管理伺服器。 也會套用受控網域中的群組成員資格,讓您控制 VM 上檔案或服務的存取權。

本文說明如何將 Red Hat Enterprise Linux (RHEL) VM 加入受控網域。

必要條件

若要完成本教學課程,您需要下列資源和許可權:

建立並聯機到 RHEL Linux VM

如果您在 Azure 中有現有的 RHEL Linux VM,請使用 SSH 連線到它,然後繼續進行下一個步驟以 開始設定 VM

如果您需要建立 RHEL Linux VM,或想要建立測試 VM 以搭配本文使用,您可以使用下列其中一種方法:

當您建立 VM 時,請注意虛擬網路設定,以確定 VM 可以與受控網域通訊:

  • 將 VM 部署到您已啟用 Microsoft Entra Domain Services 的相同或對等互連虛擬網路。
  • 將 VM 部署到與您 Microsoft Entra Domain Services 受控網域不同的子網。

部署 VM 之後,請遵循使用 SSH 連線到 VM 的步驟。

設定 hosts 檔案

若要確定已針對受控網域正確設定 VM 主機名稱,請編輯 /etc/hosts 檔案並設定主機名稱:

sudo vi /etc/hosts

在主機 檔案中 ,更新 localhost 位址。 在以下範例中:

  • aaddscontoso.com 是您受控網域的 DNS 功能變數名稱。
  • rhel 是您加入受控網域之 RHEL VM 的主機名稱。

以您自己的值更新這些名稱:

127.0.0.1 rhel rhel.aaddscontoso.com

完成後,請使用 :wq 編輯器的命令儲存並結束 hosts 檔案。

重要

請繼續考慮 Red Hat Enterprise Linux 6.X 和 Oracle Linux 6.x 已經是 EOL。 RHEL 6.10 提供 ELS 支援 ,將于 2024 /06 結束。

安裝必要的套件

VM 需要一些額外的套件,才能將 VM 加入受控網域。 若要安裝和設定這些套件,請使用 yum 更新並安裝加入網域的工具。

sudo yum install adcli sssd authconfig krb5-workstation

將 VM 加入受控網域

現在,必要的套件已安裝在 VM 上,請將 VM 加入受控網域。

  1. adcli info使用 命令來探索受控網域。 下列範例會探索領域 ADDDSCONTOSO.COM 。 在 ALL 大寫中指定您自己的受控功能變數名稱:

    sudo adcli info aaddscontoso.com
    

    adcli info如果命令找不到您的受控網域,請檢閱下列疑難排解步驟:

    • 請確定可從 VM 連線到網域。 嘗試 ping aaddscontoso.com 查看是否傳回正回復。
    • 檢查 VM 是否已部署到可用的受控網域所在的相同或對等互連虛擬網路。
    • 確認虛擬網路的 DNS 伺服器設定已更新,以指向受控網域的網域控制站。
  2. 首先,使用 adcli join 命令加入網域,此命令也會建立 keytab 來驗證電腦。 使用屬於受控網域一部分的使用者帳戶。

    sudo adcli join aaddscontoso.com -U contosoadmin
    
  3. 現在,設定 /ect/krb5.conf 並建立 /etc/sssd/sssd.conf 檔案以使用 aaddscontoso.com Active Directory 網域。 請確定已 AADDSCONTOSO.COM 由您自己的功能變數名稱取代:

    /etc/krb5.conf使用編輯器開啟檔案:

    sudo vi /etc/krb5.conf
    

    krb5.conf更新 檔案以符合下列範例:

    [logging]
     default = FILE:/var/log/krb5libs.log
     kdc = FILE:/var/log/krb5kdc.log
     admin_server = FILE:/var/log/kadmind.log
    
    [libdefaults]
     default_realm = AADDSCONTOSO.COM
     dns_lookup_realm = true
     dns_lookup_kdc = true
     ticket_lifetime = 24h
     renew_lifetime = 7d
     forwardable = true
    
    [realms]
     AADDSCONTOSO.COM = {
     kdc = AADDSCONTOSO.COM
     admin_server = AADDSCONTOSO.COM
     }
    
    [domain_realm]
     .AADDSCONTOSO.COM = AADDSCONTOSO.COM
     AADDSCONTOSO.COM = AADDSCONTOSO.COM
    

    /etc/sssd/sssd.conf建立檔案:

    sudo vi /etc/sssd/sssd.conf
    

    sssd.conf更新 檔案以符合下列範例:

    [sssd]
     services = nss, pam, ssh, autofs
     config_file_version = 2
     domains = AADDSCONTOSO.COM
    
    [domain/AADDSCONTOSO.COM]
    
     id_provider = ad
    
  4. 請確定 /etc/sssd/sssd.conf 許可權為 600,且由根使用者擁有:

    sudo chmod 600 /etc/sssd/sssd.conf
    sudo chown root:root /etc/sssd/sssd.conf
    
  5. 使用 authconfig 指示 VM 瞭解 AD Linux 整合:

    sudo authconfig --enablesssd --enablesssd auth --update
    
  6. 啟動並啟用 sssd 服務:

    sudo service sssd start
    sudo chkconfig sssd on
    

如果您的 VM 無法順利完成網域加入程式,請確定 VM 的網路安全性群組允許 TCP + UDP 埠 464 上的輸出 Kerberos 流量到受控網域的虛擬網路子網。

現在,檢查您是否可以使用 查詢使用者 AD 資訊 getent

sudo getent passwd contosoadmin

允許 SSH 的密碼驗證

根據預設,使用者只能使用 SSH 公開金鑰型驗證來登入 VM。 密碼式驗證失敗。 當您將 VM 加入受控網域時,這些網域帳戶必須使用密碼型驗證。 更新 SSH 組態以允許密碼型驗證,如下所示。

  1. 使用編輯器開啟sshd_conf 檔案:

    sudo vi /etc/ssh/sshd_config
    
  2. 將 PasswordAuthentication 的行 更新為 yes

    PasswordAuthentication yes
    

    完成後,請使用 :wq 編輯器的 命令儲存 並結束sshd_conf 檔案。

  3. 若要套用變更,並讓使用者使用密碼登入,請重新開機 RHEL 散發版本的 SSH 服務:

    sudo service sshd restart
    

授與 'AAD DC 管理員istrators' 群組 sudo 許可權

若要授與 AAD DC 管理員istrators 群組 RHEL VM 上系統管理許可權的成員 ,請將專案新增至 /etc/sudoers 。 新增之後,AAD DC 管理員istrators 群組的成員 可以使用 sudo RHEL VM 上的 命令。

  1. 開啟 sudoers 檔案以進行編輯:

    sudo visudo
    
  2. 將下列專案新增至 /etc/sudoers 檔案的 結尾。 AAD DC 管理員istrators 群組包含名稱中的空白字元,因此請在組名中包含反斜線逸出字元。 新增您自己的功能變數名稱,例如 aaddscontoso.com

    # Add 'AAD DC Administrators' group members as admins.
    %AAD\ DC\ Administrators@aaddscontoso.com ALL=(ALL) NOPASSWD:ALL
    

    完成後,請使用 :wq 編輯器的 命令儲存並結束編輯器。

使用網域帳戶登入 VM

若要確認 VM 已成功加入受控網域,請使用網域使用者帳戶啟動新的 SSH 連線。 確認已建立主目錄,並套用網域中的群組成員資格。

  1. 從主控台建立新的 SSH 連線。 使用 ssh -l 屬於受控網域的網域帳戶,使用 命令,例如 contosoadmin@aaddscontoso.com ,然後輸入 VM 的位址,例如 rhel.aaddscontoso.com 。 如果您使用 Azure Cloud Shell,請使用 VM 的公用 IP 位址,而不是內部 DNS 名稱。

    ssh -l contosoadmin@AADDSCONTOSO.com rhel.aaddscontoso.com
    
  2. 成功連線到 VM 時,請確認主目錄已正確初始化:

    pwd
    

    您應該使用 符合使用者帳戶的 /home 目錄。

  3. 現在,請檢查群組成員資格是否已正確解析:

    id
    

    您應該會看到來自受控網域的群組成員資格。

  4. 如果您以 AAD DC 管理員istrators 群組的成員身 分登入 VM,請檢查您是否可以正確使用 sudo 命令:

    sudo yum update
    

下一步

如果您在將 VM 連線到受控網域或使用網域帳戶登入時遇到問題,請參閱 針對加入網域的問題 進行疑難排解。