Menggabungkan komputer virtual Linux Ubuntu ke domain terkelola Microsoft Entra Domain Services

Untuk memungkinkan pengguna masuk ke komputer virtual (VM) di Azure menggunakan satu set kredensial, Anda dapat menggabungkan VM ke domain terkelola Microsoft Entra Domain Services. Saat Anda menggabungkan VM ke domain terkelola Domain Services, akun pengguna dan kredensial dari domain dapat digunakan untuk masuk dan mengelola server. Keanggotaan grup dari domain terkelola juga diterapkan untuk memungkinkan Anda mengontrol akses ke file atau layanan di komputer virtual.

Artikel ini memperlihatkan kepada Anda cara bergabung dengan komputer virtual Ubuntu Linux ke domain terkelola.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan sumber daya dan hak istimewa berikut:

  • Langganan Azure aktif.
    • Jika Anda tidak memiliki langganan Azure, buat akun.
  • Penyewa Microsoft Entra yang terkait dengan langganan Anda, baik disinkronkan dengan direktori lokal atau direktori khusus cloud.
  • Domain terkelola Microsoft Entra Domain Services diaktifkan dan dikonfigurasi di penyewa Microsoft Entra Anda.
  • Sebuah akun pengguna yang merupakan bagian dari domain terkelola. Pastikan atribut SAMAccountName untuk pengguna tidak dibuat secara otomatis. Jika beberapa akun pengguna di penyewa Microsoft Entra memiliki atribut mailNickname yang sama, atribut SAMAccountName untuk setiap pengguna dibuat secara otomatis. Untuk informasi selengkapnya, lihat Bagaimana objek dan kredensial disinkronkan di domain terkelola Microsoft Entra Domain Services.
  • Nama Linux VM unik yang maksimal 15 karakter untuk menghindari nama terpotong yang dapat menyebabkan konflik di Direktori Aktif.

Buat dan sambungkan ke komputer virtual Ubuntu Linux

Jika Anda sudah memiliki komputer virtual Linux Ubuntu di Azure, sambungkan menggunakan SSH, kemudian lanjutkan ke langkah berikutnya untuk mulai mengonfigurasi komputer virtual.

Jika Anda perlu membuat komputer virtual Linux Ubuntu, atau ingin membuat uji komputer virtual untuk digunakan dengan artikel ini, Anda dapat menggunakan salah satu metode berikut ini:

Saat Anda membuat komputer virtual, perhatikan pengaturan jaringan virtual untuk memastikan bahwa komputer virtual dapat berkomunikasi dengan domain terkelola:

  • Sebarkan VM ke jaringan virtual yang sama, atau yang di-peering di mana Anda telah mengaktifkan Microsoft Entra Domain Services.
  • Sebarkan VM ke subnet yang berbeda dari domain terkelola Microsoft Entra Domain Services Anda.

Setelah komputer virtual disebarkan, ikuti langkah-langkah untuk menyambungkan ke komputer virtual menggunakan SSH.

Mengonfigurasi file host

Untuk memastikan bahwa nama host komputer virtual dikonfigurasi dengan benar untuk domain terkelola, edit file /etc/hosts dan atur nama host:

sudo vi /etc/hosts

Dalam file host, perbarui alamat localhost. Dalam contoh berikut:

  • aaddscontoso.com adalah nama domain DNS domain terkelola Anda.
  • ubuntu adalah nama host komputer virtual Ubuntu Anda yang Anda gabungkan ke domain terkelola.

Perbarui nama-nama tersebut dengan nilai Anda sendiri:

127.0.0.1 ubuntu.aaddscontoso.com ubuntu

Setelah selesai, simpan dan keluar dari file host :wq menggunakan perintah editor.

Memasang paket yang diperlukan

Komputer virtual membutuhkan beberapa paket tambahan untuk bergabung dengan komputer virtual ke domain terkelola. Untuk memasang dan mengonfigurasi paket ini, perbarui dan pasang alat penggabung domain menggunakan apt-get

Selama penginstalan Kerberos, paket pengguna krb5 meminta nama realm dengan HURUF BESAR SEMUA. Misalnya, jika nama domain terkelola Anda aaddscontoso.com, masukkan AADDSCONTOSO.COM sebagai realm. Penginstalan menulis bagian [realm] dan [domain_realm] dalam file konfigurasi/etc/krb5.conf. Pastikan Anda menetapkan realm dengan HURUF BESAR SEMUA:

sudo apt-get update
sudo apt-get install krb5-user samba sssd sssd-tools libnss-sss libpam-sss ntp ntpdate realmd adcli

Konfigurasikan Protokol Waktu Jaringan/Network Time Protocol (NTP)

Agar komunikasi domain berfungsi dengan benar, tanggal dan waktu komputer virtual Ubuntu Anda harus disinkronkan dengan domain terkelola. Tambahkan nama host NTP domain terkelola Anda ke file /etc/ntp.conf.

  1. Buka file ntp.conf dengan editor:

    sudo vi /etc/ntp.conf
    
  2. Dalam file ntp.conf, buat baris untuk menambahkan nama DNS domain terkelola Anda. Dalam contoh berikut ini, entri untuk aaddscontoso.com ditambahkan. Gunakan nama DNS Anda sendiri:

    server aaddscontoso.com
    

    Setelah selesai, simpan dan keluar dari file ntp.conf menggunakan :wq perintah editor.

  3. Untuk memastikan bahwa komputer virtual disinkronkan dengan domain terkelola, langkah-langkah berikut ini diperlukan:

    • Hentikan server NTP
    • Perbarui tanggal dan waktu dari domain terkelola
    • Mulai layanan NTP

    Jalankan perintah berikut untuk menyelesaikan langkah-langkah ini. Gunakan nama DNS Anda sendiri dengan ntpdate perintah:

    sudo systemctl stop ntp
    sudo ntpdate aaddscontoso.com
    sudo systemctl start ntp
    

Bergabunglah dengan komputer virtual ke domain terkelola

Sekarang paket yang diperlukan telah diinstal pada komputer virtual dan NTP telah dikonfigurasi, bergabunglah dengan komputer virtual ke domain terkelola.

  1. Gunakan perintah realm discover untuk menemukan domain terkelola. Contoh berikut ini menemukan realm AADDSCONTOSO.COM. Tentukan nama domain terkelola Anda sendiri dengan HURUF BESAR SEMUA:

    sudo realm discover AADDSCONTOSO.COM
    

    Jika perintah realm discover tidak dapat menemukan domain terkelola Anda, ulas langkah-langkah pemecahan masalah berikut ini:

    • Pastikan bahwa domain dapat dijangkau dari komputer virtual. Coba ping aaddscontoso.com untuk memeriksa apakah balasan positif dikembalikan.
    • Periksa apakah komputer virtual disebarkan ke jaringan virtual yang sama atau yang serekan, di mana domain terkelola tersedia.
    • Konfirmasikan bahwa pengaturan server DNS untuk jaringan virtual telah diperbarui untuk menunjuk ke pengendali domain pada domain terkelola.
  2. Sekarang inisialisasi Kerberos menggunakan perintah kinit. Tentukan pengguna yang merupakan bagian dari domain terkelola. Jika diperlukan, tambahkan akun pengguna ke grup di ID Microsoft Entra.

    Sekali lagi, nama domain terkelola harus dimasukkan dengan HURUF BESAR SEMUA. Dalam contoh berikut ini, akun bernama contosoadmin@aaddscontoso.com digunakan untuk menginisialisasi Kerberos. Masukkan akun pengguna yang merupakan bagian dari domain terkelola:

    sudo kinit -V contosoadmin@AADDSCONTOSO.COM
    
  3. Terakhir, bergabunglah dengan komputer virtual ke domain terkelola menggunakan perintah realm join. Gunakan akun pengguna yang sama yang merupakan bagian dari domain terkelola yang Anda tentukan di perintah kinit sebelumnya, seperti contosoadmin@AADDSCONTOSO.COM:

    sudo realm join --verbose AADDSCONTOSO.COM -U 'contosoadmin@AADDSCONTOSO.COM' --install=/
    

Butuh beberapa saat untuk bergabung dengan komputer virtual ke domain terkelola. Contoh output berikut ini menunjukkan komputer virtual berhasil bergabung ke domain terkelola:

Successfully enrolled machine in realm

Jika komputer virtual Anda tidak berhasil menyelesaikan proses penggabungan domain, pastikan bahwa grup keamanan jaringan komputer virtual memungkinkan lalu lintas Kerberos keluar pada TCP + UDP port 464 ke subnet jaringan virtual untuk domain terkelola Anda.

Jika Anda menerima pesan kesalahan Kegagalan GSS yang tidak ditentukan. Kode minor dapat memberikan informasi lebih lanjut (Server tidak ditemukan di database Kerberos), buka file /etc/krb5.conf dan tambahkan kode berikut ini di bagian [libdefaults] dan coba lagi:

rdns=false

Perbarui konfigurasi SSSD

Salah satu paket yang dipasang pada langkah sebelumnya adalah untuk System Security Services Daemon (SSSD). Ketika pengguna mencoba masuk ke komputer virtual menggunakan informasi masuk domain, SSSD menyampaikan permintaan ke penyedia autentikasi. Dalam skenario ini, SSSD menggunakan Layanan Domain untuk mengautentikasi permintaan.

  1. Buka file sssd.conf dengan editor:

    sudo vi /etc/sssd/sssd.conf
    
  2. Beri komentar baris untuk use_fully_qualified_names sebagai berikut:

    # use_fully_qualified_names = True
    

    Setelah selesai, simpan dan keluar dari file sssd.conf menggunakan :wq perintah editor.

  3. Untuk menerapkan perubahan, mulai ulang layanan SSSD:

    sudo systemctl restart sssd
    

Konfigurasikan pengaturan akun pengguna dan grup

Dengan komputer virtual yang bergabung ke domain terkelola dan dikonfigurasi untuk autentikasi, ada beberapa opsi konfigurasi pengguna yang harus diselesaikan. Perubahan konfigurasi ini termasuk memungkinkan autentikasi berbasis kata sandi, dan membuat direktori beranda secara otomatis pada komputer virtual lokal saat pengguna domain pertama kali masuk.

Izinkan autentikasi kata sandi untuk SSH

Secara default, pengguna hanya dapat masuk ke komputer virtual menggunakan autentikasi berbasis kunci umum SSH. Autentikasi berbasis kata sandi gagal. Saat Anda bergabung dengan komputer virtual ke domain terkelola, akun domain tersebut perlu menggunakan autentikasi berbasis kata sandi. Perbarui konfigurasi SSH untuk mengizinkan autentikasi berbasis kata sandi sebagai berikut.

  1. Buka file sshd_conf dengan editor:

    sudo vi /etc/ssh/sshd_config
    
  2. Perbarui baris untuk PasswordAuthentication ke ya:

    PasswordAuthentication yes
    

    Setelah selesai, simpan dan keluar dari file sshd_conf menggunakan perintah :wq pada editor.

  3. Untuk menerapkan perubahan dan mengizinkan pengguna masuk menggunakan kata sandi, mulai ulang layanan SSH:

    sudo systemctl restart ssh
    

Konfigurasikan pembuatan direktori beranda otomatis

Untuk mengaktifkan pembuatan direktori beranda otomatis saat pengguna pertama kali masuk, selesaikan langkah-langkah berikut ini:

  1. /etc/pam.d/common-session Buka file di editor:

    sudo vi /etc/pam.d/common-session
    
  2. Tambahkan baris berikut dalam file ini di bawah baris session optional pam_sss.so:

    session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
    

    Setelah selesai, simpan dan keluar dari file common-session menggunakan :wq perintah editor.

Berikan hak istimewa sudo grup 'Administrator Azure Active Directory DC'

Untuk memberikan hak istimewa administratif grup Administrator Azure Active Directory DC kepada anggota pada komputer virtual Ubuntu, tambahkan entri ke/etc/sudoers. Setelah ditambahkan, anggota grup Administrator Azure Active Directory DC dapat menggunakan perintah sudo pada komputer virtual Ubuntu.

  1. Buka file sudoers untuk mengedit:

    sudo visudo
    
  2. Tambahkan entri berikut ini ke akhir file /etc/sudoers:

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

    Setelah selesai, simpan dan keluar dari editor menggunakan Ctrl-X perintah.

Masuk ke komputer virtual menggunakan akun domain

Untuk memverifikasi bahwa komputer virtual telah berhasil bergabung ke domain terkelola, mulai koneksi SSH baru menggunakan akun pengguna domain. Konfirmasikan bahwa direktori beranda telah dibuat, dan keanggotaan grup dari domain telah diterapkan.

  1. Buat koneksi SSH baru dari konsol Anda. Gunakan akun domain milik domain terkelola menggunakan ssh -l perintah, seperti contosoadmin@aaddscontoso.com kemudian masukkan alamat komputer virtual Anda, seperti ubuntu.aaddscontoso.com. Jika Anda menggunakan Azure Cloud Shell, gunakan alamat IP publik komputer virtual daripada nama DNS internal.

    sudo ssh -l contosoadmin@AADDSCONTOSO.com ubuntu.aaddscontoso.com
    
  2. Ketika Anda berhasil tersambung ke komputer virtual, verifikasi bahwa direktori beranda telah diinisialisasi dengan benar:

    sudo pwd
    

    Anda harus berada di direktori /home dengan direktori Anda sendiri yang cocok dengan akun pengguna.

  3. Sekarang periksa apakah keanggotaan grup diselesaikan dengan benar:

    sudo id
    

    Anda akan melihat keanggotaan grup Anda dari domain terkelola.

  4. Jika Anda masuk ke komputer virtual sebagai anggota grup Administrator Azure Active Directory DC, periksa apakah Anda dapat menggunakan perintah dengan sudo benar:

    sudo apt-get update
    

Langkah berikutnya

Jika Anda mengalami masalah saat menyambungkan komputer virtual ke domain terkelola atau masuk dengan akun domain, lihat Memecahkan masalah penggabungan domain.