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.
- Jika diperlukan, buat penyewa Microsoft Entra atau kaitkan langganan Azure dengan akun Anda.
- Domain terkelola Microsoft Entra Domain Services diaktifkan dan dikonfigurasi di penyewa Microsoft Entra Anda.
- Jika diperlukan, tutorial pertama membuat dan mengonfigurasi domain terkelola Microsoft Entra Domain Services.
- 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.
Buka file ntp.conf dengan editor:
sudo vi /etc/ntp.conf
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.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.
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.
- Pastikan bahwa domain dapat dijangkau dari komputer virtual. Coba
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
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 perintahkinit
sebelumnya, seperticontosoadmin@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.
Buka file sssd.conf dengan editor:
sudo vi /etc/sssd/sssd.conf
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.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.
Buka file sshd_conf dengan editor:
sudo vi /etc/ssh/sshd_config
Perbarui baris untuk PasswordAuthentication ke ya:
PasswordAuthentication yes
Setelah selesai, simpan dan keluar dari file sshd_conf menggunakan perintah
:wq
pada editor.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:
/etc/pam.d/common-session
Buka file di editor:sudo vi /etc/pam.d/common-session
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.
Buka file sudoers untuk mengedit:
sudo visudo
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.
Buat koneksi SSH baru dari konsol Anda. Gunakan akun domain milik domain terkelola menggunakan
ssh -l
perintah, seperticontosoadmin@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
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.
Sekarang periksa apakah keanggotaan grup diselesaikan dengan benar:
sudo id
Anda akan melihat keanggotaan grup Anda dari domain terkelola.
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.