Mengelola pengguna administratif, SSH, dan memeriksa atau memperbaiki disk di VM Linux menggunakan Ekstensi VMAccess dengan Azure CLI

Gambaran Umum

Disk di Linux VM Anda menampilkan kesalahan. Anda entah bagaimana mengatur ulang kata sandi root untuk Linux VM Anda atau secara tidak sengaja menghapus kunci pribadi SSH Anda. Jika itu terjadi dulu ketika ada pusat data, Anda harus datang ke sana dan kemudian membuka KVM untuk mendapatkan di konsol server. Pertimbangkan ekstensi Azure VMAccess karena sakelar KVM yang memungkinkan Anda mengakses konsol untuk mengatur ulang akses ke Linux atau melakukan pemeliharaan tingkat disk.

Artikel ini menunjukkan kepada Anda cara menggunakan Ekstensi Azure VMAccess untuk memeriksa atau memperbaiki disk, mengatur ulang akses pengguna, mengelola akun pengguna administratif, atau memperbarui konfigurasi SSH di Linux saat mereka berjalan sebagai komputer virtual Azure Resource Manager. Jika Anda perlu mengelola komputer virtual Klasik - Anda dapat mengikuti instruksi yang ditemukan dalam dokumentasi VM klasik.

Catatan

Jika Anda menggunakan Ekstensi VMAccess untuk mengatur ulang kata sandi VM Anda setelah menginstal Ekstensi Login AAD, Anda perlu menjalankan ulang Ekstensi Login AAD guna mengaktifkan kembali Login AAD untuk komputer Anda.

Prasyarat

Sistem operasi

Ekstensi VM Access dapat dijalankan terhadap distribusi Linux ini:

Distribusi Versi
Ubuntu 16.04 LTS, 14.04 LTS, dan 12.04 LTS
Debian Debian 7.9+, 8.2+
Red Hat RHEL 6.7+, 7.1+
Oracle Linux 6.4+, 7.0+
Suse 11 dan 12
OpenSuse openSUSE Leap 42.2+
CentOS CentOS 6.3+, 7.0+
CoreOS 494.4.0+

Cara menggunakan Ekstensi VMAccess

Ada dua cara agar Anda dapat menggunakan Ekstensi VMAccess di Linux VM Anda:

Contoh berikut menggunakan perintah az vm user. Untuk melakukan langkah ini, Anda harus memiliki versi Azure CLI terbaru yang terinstal dan masuk ke akun Azure menggunakan proses masuk az.

Perbarui kunci SSH

Contoh berikut memperbarui kunci SSH untuk pengguna azureuser pada VM bernama myVM :

az vm user update \
  --resource-group myResourceGroup \
  --name myVM \
  --username azureuser \
  --ssh-key-value ~/.ssh/id_rsa.pub

CATATAN:az vm user update Perintah menambahkan teks kunci publik baru ke file ~/.ssh/authorized_keys untuk pengguna admin di VM. Ini tidak menggantikan atau menghapus kunci SSH yang ada. Ini tidak akan menghapus kunci sebelumnya yang ditetapkan pada waktu penyebaran atau pembaruan berikutnya melalui Ekstensi VMAccess.

Atur ulang kata sandi

Contoh berikut mengatur ulang kata sandi untuk pengguna azureuser pada VM bernama myVM:

az vm user update \
  --resource-group myResourceGroup \
  --name myVM \
  --username azureuser \
  --password myNewPassword

Mulai ulang SSH

Contoh berikut memulai ulang daemon SSH dan mengatur ulang konfigurasi SSH ke nilai default pada VM bernama myVM:

az vm user reset-ssh \
  --resource-group myResourceGroup \
  --name myVM

Buat pengguna administratif/sudo

Contoh berikut membuat pengguna bernama myNewUser dengan izin sudo. Akun ini menggunakan kunci SSH untuk autentikasi pada VM bernama myVM. Metode ini dirancang untuk membantu Anda mendapatkan kembali akses ke VM jika kredensial saat ini hilang atau terlupakan. Untuk praktik terbaik, akun dengan izin sudo harus dibatasi.

az vm user update \
  --resource-group myResourceGroup \
  --name myVM \
  --username myNewUser \
  --ssh-key-value ~/.ssh/id_rsa.pub

Hapus pengguna

Contoh berikut menghapus pengguna bernama myNewUser pada VM bernama myVM:

az vm user delete \
  --resource-group myResourceGroup \
  --name myVM \
  --username myNewUser

Gunakan file JSON dan Ekstensi VMAccess

Contoh berikut menggunakan file JSON mentah. Gunakan ekstensi az vm diatur untuk kemudian panggil file JSON Anda. File JSON ini juga dapat dipanggil dari templat Azure.

Atur ulang akses pengguna

Jika Anda kehilangan akses ke root pada Linux VM, Anda dapat meluncurkan skrip VMAccess untuk memperbarui kunci atau kata sandi SSH pengguna.

Untuk memperbarui kunci publik SSH pengguna, buat file bernama update_ssh_key.json dan tambahkan pengaturan dalam format berikut. Ganti nilai Anda sendiri untuk parameter username dan ssh_key:

{
  "username":"azureuser",
  "ssh_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCZ3S7gGp3rcbKmG2Y4vGZFMuMZCwoUzZNGxxxxxx2XV2x9FfAhy8iGD+lF8UdjFX3t5ebMm6BnnMh8fHwkTRdOt3LDQq8o8ElTBrZaKPxZN2thMZnODs5Hlemb2UX0oRIGRcvWqsd4oJmxsXa/Si98Wa6RHWbc9QZhw80KAcOVhmndZAZAGR+Wq6yslNo5TMOr1/ZyQAook5C4FtcSGn3Y+WczaoGWIxG4ZaWk128g79VIeJcIQqOjPodHvQAhll7qDlItVvBfMOben3GyhYTm7k4YwlEdkONm4yV/UIW0la1rmyztSBQIm9sZmSq44XXgjVmDHNF8UfCZ1ToE4r2SdwTmZv00T2i5faeYnHzxiLPA3Enub7xxxxxxwFArnqad7MO1SY1kLemhX9eFjLWN4mJe56Fu4NiWJkR9APSZQrYeKaqru4KUC68QpVasNJHbuxPSf/PcjF3cjO1+X+4x6L1H5HTPuqUkyZGgDO4ynUHbko4dhlanALcriF7tIfQR9i2r2xOyv5gxJEW/zztGqWma/d4rBoPjnf6tO7rLFHXMt/DVTkAfn5wxxtLDwkn5FMyvThRmex3BDf0gujoI1y6cOWLe9Y5geNX0oj+MXg/W0cXAtzSFocstV1PoVqy883hNoeQZ3mIGB3Q0rIUm5d9MA2bMMt31m1g3Sin6EQ== azureuser@myVM"
}

Jalankan skrip VMAccess dengan:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name VMAccessForLinux \
  --publisher Microsoft.OSTCExtensions \
  --version 1.4 \
  --protected-settings update_ssh_key.json

Untuk mengatur ulang kata sandi pengguna, buat file bernama reset_user_password.json dan tambahkan pengaturan dalam format berikut. Ganti nilai Anda sendiri untuk parameter username dan password:

{
  "username":"azureuser",
  "password":"myNewPassword" 
}

Jalankan skrip VMAccess dengan:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name VMAccessForLinux \
  --publisher Microsoft.OSTCExtensions \
  --version 1.4 \
  --protected-settings reset_user_password.json

Mulai ulang SSH

Untuk memulai ulang daemon SSH dan mengatur ulang konfigurasi SSH ke nilai default, buat file bernama reset_sshd.json. Tambahkan konten berikut:

{
  "reset_ssh": true
}

Jalankan skrip VMAccess dengan:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name VMAccessForLinux \
  --publisher Microsoft.OSTCExtensions \
  --version 1.4 \
  --protected-settings reset_sshd.json

Mengelola unit administratif

Untuk membuat pengguna dengan izin sudo yang menggunakan kunci SSH untuk autentikasi, buat file bernama create_new_user.json dan tambahkan pengaturan dalam format berikut. Ganti nilai Anda sendiri untuk parameter username dan ssh_key. Metode ini dirancang untuk membantu Anda mendapatkan kembali akses ke VM jika kredensial saat ini hilang atau terlupakan. Untuk praktik terbaik, akun dengan izin sudo harus dibatasi.

{
  "username":"myNewUser",
  "ssh_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCZ3S7gGp3rcbKmG2Y4vGZFMuMZCwoUzZNG1vHY7P2XV2x9FfAhy8iGD+lF8UdjFX3t5ebMm6BnnMh8fHwkTRdOt3LDQq8o8ElTBrZaKPxZN2thMZnODs5Hlemb2UX0oRIGRcvWqsd4oJmxsXa/Si98Wa6RHWbc9QZhw80KAcOVhmndZAZAGR+Wq6yslNo5TMOr1/ZyQAook5C4FtcSGn3Y+WczaoGWIxG4ZaWk128g79VIeJcIQqOjPodHvQAhll7qDlItVvBfMOben3GyhYTm7k4YwlEdkONm4yV/UIW0la1rmyztSBQIm9sZmSq44XXgjVmDHNF8UfCZ1ToE4r2SdwTmZv00T2i5faeYnHzxiLPA3Enub7iUo5IdwFArnqad7MO1SY1kLemhX9eFjLWN4mJe56Fu4NiWJkR9APSZQrYeKaqru4KUC68QpVasNJHbuxPSf/PcjF3cjO1+X+4x6L1H5HTPuqUkyZGgDO4ynUHbko4dhlanALcriF7tIfQR9i2r2xOyv5gxJEW/zztGqWma/d4rBoPjnf6tO7rLFHXMt/DVTkAfn5woYtLDwkn5FMyvThRmex3BDf0gujoI1y6cOWLe9Y5geNX0oj+MXg/W0cXAtzSFocstV1PoVqy883hNoeQZ3mIGB3Q0rIUm5d9MA2bMMt31m1g3Sin6EQ== myNewUser@myVM",
  "password":"myNewUserPassword"
}

Jalankan skrip VMAccess dengan:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name VMAccessForLinux \
  --publisher Microsoft.OSTCExtensions \
  --version 1.4 \
  --protected-settings create_new_user.json

Untuk menghapus pengguna, buat file bernama delete_user.json dan tambahkan konten berikut. Ganti nilai Anda sendiri untuk parameter remove_user:

{
  "remove_user":"myNewUser"
}

Jalankan skrip VMAccess dengan:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name VMAccessForLinux \
  --publisher Microsoft.OSTCExtensions \
  --version 1.4 \
  --protected-settings delete_user.json

Periksa atau perbaiki disk

Menggunakan VMAccess Anda juga dapat memeriksa dan memperbaiki disk yang Anda tambahkan ke Linux VM.

Untuk memeriksa lalu memperbaiki disk, buat file bernama disk_check_repair.json dan tambahkan pengaturan dalam format berikut. Ganti nilai Anda sendiri untuk nama repair_disk:

{
  "check_disk": "true",
  "repair_disk": "true, mydiskname"
}

Jalankan skrip VMAccess dengan:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name VMAccessForLinux \
  --publisher Microsoft.OSTCExtensions \
  --version 1.4 \
  --protected-settings disk_check_repair.json

Memecahkan masalah dan dukungan

Pecahkan masalah

Data tentang status penyebaran ekstensi dapat diambil dari portal Azure dan dengan menggunakan Azure CLI. Untuk melihat status penyebaran ekstensi untuk VM tertentu, jalankan perintah berikut menggunakan Azure CLI.

az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

Dukungan

Jika memerlukan bantuan lebih lanjut pada titik mana pun dalam artikel ini, Anda dapat menghubungi pakar Azure di Forum MSDN Azure dan Stack Overflow. Atau, Anda dapat mengajukan insiden dukungan Azure. Buka situs dukungan Azure dan pilih Dapatkan dukungan. Untuk mengetahui informasi tentang cara menggunakan Dukungan Azure, baca FAQ dukungan Microsoft Azure.