Bagikan melalui


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 VM.

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

Prasyarat

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

Membuat dan menyambungkan ke VM Linux Ubuntu

Jika Anda memiliki VM Linux Ubuntu yang sudah ada di Azure, sambungkan menggunakan SSH, lanjutkan ke langkah berikutnya untuk mulai mengonfigurasi VM.

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

  • pusat admin Microsoft Entra
  • Azure CLI
  • Azure PowerShell

Saat Anda membuat VM, perhatikan pengaturan jaringan virtual untuk memastikan bahwa VM 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 VM disebarkan, ikuti langkah-langkah untuk menyambungkan ke VM menggunakan SSH.

Mengonfigurasi file host

Untuk memastikan bahwa nama host VM 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 VM Ubuntu yang Anda gabungkan ke domain terkelola.

Perbarui nama-nama ini dengan nilai Anda sendiri:

127.0.0.1 ubuntu.aaddscontoso.com ubuntu

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

Menginstal paket yang diperlukan

VM memerlukan beberapa paket tambahan untuk bergabung dengan domain terkelola. Untuk menginstal dan mengonfigurasi paket ini, perbarui dan instal alat gabungan domain menggunakan apt-get

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

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

Mengonfigurasi Protokol Waktu Jaringan (NTP)

Agar komunikasi domain berfungsi dengan benar, tanggal dan waktu VM 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, entri untuk aaddscontoso.com telah ditambahkan. Gunakan nama DNS Anda sendiri:

    server aaddscontoso.com
    

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

  3. Untuk memastikan bahwa VM disinkronkan dengan domain terkelola, langkah-langkah berikut diperlukan:

    • Menghentikan server NTP
    • Memperbarui tanggal dan waktu dari domain terkelola
    • Memulai layanan NTP

    Untuk menyelesaikan langkah-langkah ini, jalankan perintah berikut. Gunakan nama DNS Anda sendiri dengan perintah ntpdate:

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

Menggabungkan VM ke domain terkelola

Sekarang setelah paket yang diperlukan diinstal pada VM dan NTP dikonfigurasi, gabungkan VM ke domain terkelola.

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

    sudo realm discover AADDSCONTOSO.COM
    

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

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

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

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

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

Dibutuhkan beberapa saat untuk menambahkan VM ke domain terkelola. Contoh output berikut menunjukkan VM telah berhasil bergabung ke domain terkelola:

Successfully enrolled machine in realm

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

Jika Anda menerima 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 di bagian [libdefaults] dan coba lagi:

rdns=false

Memperbarui konfigurasi SSSD

Salah satu paket yang diinstal pada langkah sebelumnya adalah untuk System Security Services Daemon (SSSD). Saat pengguna mencoba masuk ke VM menggunakan kredensial 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. Komentari baris untuk use_fully_qualified_names sebagai berikut:

    # use_fully_qualified_names = True
    

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

  3. Untuk menerapkan perubahan, mulai ulang layanan SSSD:

    sudo systemctl restart sssd
    

Mengonfigurasi pengaturan akun pengguna dan grup

Dengan VM bergabung ke domain terkelola dan dikonfigurasi untuk autentikasi, ada beberapa opsi konfigurasi pengguna untuk diselesaikan. Perubahan konfigurasi ini termasuk mengizinkan autentikasi berbasis kata sandi, dan secara otomatis membuat direktori beranda di VM lokal saat pengguna domain pertama kali masuk.

Perbolehkan autentikasi kata sandi untuk SSH

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

Nota

Gambar marketplace Ubuntu biasanya memiliki beberapa opsi konfigurasi yang diatur di bawah /etc/ssh/sshd_config.d, termasuk PasswordAuthentication dalam file 50-cloud-init.conf. Oleh karena itu, pastikan Anda juga memperbarui file tersebut untuk menghindari menimpa pengaturan yang telah ada dengan langkah-langkah berikut.

  1. Buka file sshd_conf dengan editor:

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

    PasswordAuthentication yes
    

    Setelah selesai, simpan dan tutup file sshd_conf menggunakan perintah :wq editor.

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

    sudo systemctl restart ssh
    

Mengonfigurasi pembuatan direktori beranda otomatis

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

  1. Buka file /etc/pam.d/common-session 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 sesi umum menggunakan perintah :wq editor.

Berikan grup 'AAD DC Administrators' hak istimewa sudo

Untuk memberi anggota Administrator AAD DC hak istimewa administratif grup pada VM Ubuntu, Anda menambahkan entri ke /etc/sudoers. Setelah ditambahkan, anggota grup Administrator AAD DC dapat menggunakan perintah sudo pada VM Ubuntu.

  1. Buka file sudoers untuk mengedit.

    sudo visudo
    
  2. Tambahkan entri berikut 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 perintah Ctrl-X.

Masuk ke VM menggunakan akun domain

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

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

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

    sudo pwd
    

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

  3. Sekarang periksa apakah keanggotaan grup sedang diselesaikan dengan benar:

    sudo id
    

    Anda akan melihat keanggotaan grup Anda dari domain terkelola.

  4. Jika Anda masuk ke VM sebagai anggota grup Administrator AAD DC, periksa apakah Anda dapat menggunakan perintah sudo dengan benar:

    sudo apt-get update
    

Langkah berikutnya

Jika Anda mengalami masalah saat menyambungkan VM ke domain terkelola atau masuk dengan akun domain, lihat Memecahkan masalah gabungan domain.