VMAccess-bővítmény Linuxhoz
A VMAccess-bővítmény felügyeleti felhasználók kezelésére, SSH konfigurálására, valamint lemezek ellenőrzésére vagy javítására szolgál Az Azure Linux rendszerű virtuális gépeken. A bővítmény integrálva van az Azure Resource Manager-sablonokkal. Meghívható az Azure CLI, az Azure PowerShell, az Azure Portal és az Azure Virtual Machines REST API használatával is.
Ez a cikk azt ismerteti, hogyan futtathatja a VMAccess bővítményt az Azure CLI-ből és egy Azure Resource Manager-sablonon keresztül. Ez a cikk a Linux-rendszerek hibaelhárítási lépéseit is ismerteti.
Feljegyzés
Ha a VMAccess bővítményt használja a virtuális gép jelszavának alaphelyzetbe állításához a Microsoft Entra Login bővítmény telepítése után, futtassa újra a Microsoft Entra Login bővítményt a Microsoft Entra Login újbóli engedélyezéséhez a virtuális gép számára.
Előfeltételek
Támogatott Linux-disztribúciók
Linux-disztribúció | x64 | ARM64 |
---|---|---|
Alma Linux | 9.x+ | 9.x+ |
Debian | 10+ | 11.x+ |
Flatcar Linux | 3374.2.x+ | 3374.2.x+ |
Azure Linux | 2.x | 2.x |
openSUSE | 12.3+ | Nem támogatott |
Oracle Linux | 6.4+, 7.x+, 8.x+ | Nem támogatott |
Red Hat Enterprise Linux | 6.7+, 7.x+, 8.x+ | 8.6+, 9.0+ |
Rocky Linux | 9.x+ | 9.x+ |
SLES | 12.x+, 15.x+ | 15.x SP4+ |
Ubuntu | 18.04+, 20.04+, 22.04+ | 20.04+, 22.04+ |
Tippek
- A VMAccess a virtuális géphez való hozzáférés helyreállítására lett tervezve, mivel a hozzáférés elveszett. Ezen elv alapján sudo engedélyt ad a felhasználónév mezőben megadott fiókhoz. Ha nem szeretné, hogy a felhasználó sudo engedélyeket szerezzen, jelentkezzen be a virtuális gépre, és használja a beépített eszközöket (például usermod, chage stb.) a nem jogosult felhasználók kezeléséhez.
- A bővítmény csak egy verzióját alkalmazhatja egy virtuális gépre. Egy második művelet futtatásához frissítse a meglévő bővítményt egy új konfigurációval.
- A felhasználói frissítés során a VMAccess módosítja a
sshd_config
fájlt, és előzetesen biztonsági másolatot készít róla. Az eredeti biztonsági másolattal ellátott SSH-konfiguráció visszaállításához futtassa a VMAccesst a következő beállítássalrestore_backup_ssh
True
: .
Bővítményséma
A VMAccess bővítmény konfigurációja tartalmazza a felhasználónevek, jelszavak, SSH-kulcsok stb. beállításait. Ezeket az információkat konfigurációs fájlokban tárolhatja, megadhatja a parancssorban, vagy belefoglalhatja egy Azure Resource Manager-sablonba. Az alábbi JSON-séma tartalmazza a nyilvános és védett beállításokban használható összes tulajdonságot.
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "<name>",
"apiVersion": "2023-09-01",
"location": "<location>",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', <vmName>)]"
],
"properties": {
"publisher": "Microsoft.OSTCExtensions",
"type": "VMAccessForLinux",
"typeHandlerVersion": "1.5",
"autoUpgradeMinorVersion": true,
"settings": {
"check_disk": true,
"repair_disk": false,
"disk_name": "<disk-name>",
},
"protectedSettings": {
"username": "<username>",
"password": "<password>",
"ssh_key": "<ssh-key>",
"reset_ssh": false,
"remove_user": "<username>",
"expiration": "<expiration>",
"remove_prior_keys": false,
"restore_backup_ssh": true
}
}
}
Tulajdonságértékek
Név | Érték/ Példa | Adattípus |
---|---|---|
apiVersion | 2023-09-01 | dátum: |
kiadó | Microsoft.OSTCExtensions | húr |
típus | VMAccessForLinux | húr |
typeHandlerVersion | 1,5 | egész |
Beállítások tulajdonságértékek
Név | Adattípus | Leírás |
---|---|---|
check_disk | Logikai | Ellenőrizze-e a lemezt (nem kötelező). Csak egy között check_disk , és repair_disk lehet beállítani, hogy igaz. |
repair_disk | Logikai | Ellenőrizze-e a lemezt (nem kötelező). Csak egy között check_disk , és repair_disk lehet beállítani, hogy igaz. |
disk_name | húr | A javítandó lemez neve (igaz érték esetén repair_disk kötelező). |
username | húr | A kezelendő felhasználó neve (a felhasználói fiók összes műveletéhez szükséges). |
jelszó | húr | A felhasználói fiókhoz beállított jelszó. |
ssh_key | húr | A felhasználói fiókhoz hozzáadandó nyilvános SSH-kulcs. Az SSH-kulcs lehet , ssh-ed25519 vagy .pem formátum.ssh-rsa |
reset_ssh | Logikai | Az SSH alaphelyzetbe állításának lehetősége. Ha true a sshd_config fájlt egy belső erőforrásfájlra cseréli, amely megfelel a disztribúció alapértelmezett SSH-konfigurációjának. |
remove_user | húr | Az eltávolítani kívánt felhasználó neve. Nem használható a , restore_backup_ssh és password a reset_ssh . |
lejárat | húr | A fiókhoz beállított lejárati idő a következő formában yyyy-mm-dd : . Alapértelmezés szerint soha. |
remove_prior_keys | Logikai | A régi SSH-kulcsok eltávolítása újak hozzáadásakor. A használatával kell használni.ssh_key |
restore_backup_ssh | Logikai | Az eredeti biztonsági mentési sshd_config visszaállítása. |
Sablonalapú telepítés
Az Azure-beli virtuálisgép-bővítmények Azure Resource Manager- (ARM-) sablonokkal telepíthetők. Az előző szakaszban részletezett JSON-séma arm-sablonban használható a VMAccess-bővítmény futtatásához a sablon üzembe helyezése során. A GitHubon található VMAccess-bővítményt tartalmazó mintasablon.
A virtuálisgép-bővítmény JSON-konfigurációját a sablon virtuálisgép-erőforrástöredékében kell beágyazni, különösen "resources": []
a virtuálisgép-sablonhoz és az objektum alatti virtuálisgép-méretezési csoporthoz tartozó objektumba "virtualMachineProfile":"extensionProfile":{"extensions" :[]
.
Azure CLI üzemelő példány
Az Azure CLI virtuális gép felhasználói parancsainak használata
Az az virtuálisgép-felhasználó alatti alábbi CLI-parancsok a VMAccess bővítményt használják. A parancsok használatához telepítenie kell a legújabb Azure CLI-t, és be kell jelentkeznie egy Azure-fiókba az az login használatával.
SSH-kulcs frissítése
Az alábbi példa frissíti a felhasználó azureUser
SSH-kulcsát a névvel ellátott myVM
virtuális gépen:
az vm user update \
--resource-group myResourceGroup \
--name myVM \
--username azureUser \
--ssh-key-value ~/.ssh/id_rsa.pub
Feljegyzés
A az vm user update
parancs hozzáfűzi az új nyilvános kulcs szövegét a ~/.ssh/authorized_keys
virtuális gép rendszergazdai felhasználójának fájljához. Ez a parancs nem cseréli le vagy távolítja el a meglévő SSH-kulcsokat. Ez a parancs nem távolítja el az üzembe helyezéskor beállított korábbi kulcsokat vagy az azt követő frissítéseket a VMAccess bővítmény használatával.
Új jelszó létrehozása
Az alábbi példa visszaállítja a felhasználó azureUser
jelszavát a névvel ellátott myVM
virtuális gépen:
az vm user update \
--resource-group myResourceGroup \
--name myVM \
--username azureUser \
--password myNewPassword
SSH újraindítása
Az alábbi példa újraindítja az SSH-démont, és visszaállítja az SSH-konfigurációt az alapértelmezett értékekre a következő nevű myVM
virtuális gépen:
az vm user reset-ssh \
--resource-group myResourceGroup \
--name myVM
Feljegyzés
A az vm user reset-ssh
parancs lecseréli a sshd_config fájlt egy alapértelmezett konfigurációs fájlra a belső erőforrások könyvtárából. Ez a parancs nem állítja vissza a virtuális gépen található eredeti SSH-konfigurációt.
Rendszergazdai/sudo felhasználó létrehozása
Az alábbi példa egy sudo engedélyekkel rendelkező myNewUser
felhasználót hoz létre. A fiók egy SSH-kulcsot használ a hitelesítéshez a névvel ellátott myVM
virtuális gépen. Ez a módszer segít visszanyerni a virtuális géphez való hozzáférést, ha az aktuális hitelesítő adatok elvesznek vagy elfelejtik. Ajánlott eljárásként a sudo engedélyekkel rendelkező fiókokat korlátozni kell.
az vm user update \
--resource-group myResourceGroup \
--name myVM \
--username myNewUser \
--ssh-key-value ~/.ssh/id_rsa.pub
Felhasználó törlése
Az alábbi példa egy, a virtuális gépen elnevezett myNewUser
myVM
felhasználót töröl:
az vm user delete \
--resource-group myResourceGroup \
--name myVM \
--username myNewUser
Azure CLI virtuális gép/VMSS-bővítményparancsok használata
Az az vm extension set és az az vmss extension set parancsokkal is futtathatja a VMAccess bővítményt a megadott konfigurációval.
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name VMAccessForLinux \
--publisher Microsoft.OSTCExtensions \
--version 1.5 \
--settings '{"check_disk":true}'
--protected-settings '{"username":"user1","password":"userPassword"}'
A --settings
paraméterek JSON-fájl --protected-settings
elérési útját is elfogadják. Egy felhasználó SSH nyilvános kulcsának frissítéséhez például hozzon létre egy JSON-fájlt, update_ssh_key.json
és adja hozzá a beállításokat a következő formátumban. Cserélje le a fájlban lévő értékeket a saját adataira:
{
"username":"azureuser",
"ssh_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCZ3S7gGp3rcbKmG2Y4vGZFMuMZCwoUzZNGxxxxxx2XV2x9FfAhy8iGD+lF8UdjFX3t5ebMm6BnnMh8fHwkTRdOt3LDQq8o8ElTBrZaKPxZN2thMZnODs5Hlemb2UX0oRIGRcvWqsd4oJmxsXa/Si98Wa6RHWbc9QZhw80KAcOVhmndZAZAGR+Wq6yslNo5TMOr1/ZyQAook5C4FtcSGn3Y+WczaoGWIxG4ZaWk128g79VIeJcIQqOjPodHvQAhll7qDlItVvBfMOben3GyhYTm7k4YwlEdkONm4yV/UIW0la1rmyztSBQIm9sZmSq44XXgjVmDHNF8UfCZ1ToE4r2SdwTmZv00T2i5faeYnHzxiLPA3Enub7xxxxxxwFArnqad7MO1SY1kLemhX9eFjLWN4mJe56Fu4NiWJkR9APSZQrYeKaqru4KUC68QpVasNJHbuxPSf/PcjF3cjO1+X+4x6L1H5HTPuqUkyZGgDO4ynUHbko4dhlanALcriF7tIfQR9i2r2xOyv5gxJEW/zztGqWma/d4rBoPjnf6tO7rLFHXMt/DVTkAfn5wxxtLDwkn5FMyvThRmex3BDf0gujoI1y6cOWLe9Y5geNX0oj+MXg/W0cXAtzSFocstV1PoVqy883hNoeQZ3mIGB3Q0rIUm5d9MA2bMMt31m1g3Sin6EQ== azureuser@myVM"
}
Futtassa a VMAccess bővítményt a következő paranccsal:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name VMAccessForLinux \
--publisher Microsoft.OSTCExtensions \
--version 1.5 \
--protected-settings update_ssh_key.json
Azure PowerShell üzembe helyezése
Az Azure PowerShell használatával üzembe helyezheti a VMAccess-bővítményt egy meglévő virtuális gépre vagy virtuálisgép-méretezési csoportra. A bővítményt a következő futtatásával helyezheti üzembe egy virtuális gépen:
$username = "<username>"
$sshKey = "<cert-contents>"
$settings = @{"check_disk" = $true};
$protectedSettings = @{"username" = $username; "ssh_key" = $sshKey};
Set-AzVMExtension -ResourceGroupName "<resource-group>" `
-VMName "<vm-name>" `
-Location "<location>" `
-Publisher "Microsoft.OSTCExtensions" `
-ExtensionType "VMAccessForLinux" `
-Name "VMAccessForLinux" `
-TypeHandlerVersion "1.5" `
-Settings $settings `
-ProtectedSettings $protectedSettings
A bővítménybeállításokat sztringek használatával is megadhatja és módosíthatja:
$username = "<username>"
$sshKey = "<cert-contents>"
$settingsString = '{"check_disk":true}';
$protectedSettingsString = '{"username":"' + $username + '","ssh_key":"' + $sshKey + '"}';
Set-AzVMExtension -ResourceGroupName "<resource-group>" `
-VMName "<vm-name>" `
-Location "<location>" `
-Publisher "Microsoft.OSTCExtensions" `
-ExtensionType "VMAccessForLinux" `
-Name "VMAccessForLinux" `
-TypeHandlerVersion "1.5" `
-SettingString $settingsString `
-ProtectedSettingString $protectedSettingsString
Virtuálisgép-méretezési csoportban való üzembe helyezéshez futtassa a következő parancsot:
$resourceGroupName = "<resource-group>"
$vmssName = "<vmss-name>"
$protectedSettings = @{
"username" = "azureUser"
"password" = "userPassword"
}
$publicSettings = @{
"repair_disk" = $true
"disk_name" = "<disk_name>"
}
$vmss = Get-AzVmss `
-ResourceGroupName $resourceGroupName `
-VMScaleSetName $vmssName
Add-AzVmssExtension -VirtualMachineScaleSet $vmss `
-Name "<extension-name>" `
-Publisher "Microsoft.OSTCExtensions" `
-Type "VMAccessForLinux" `
-TypeHandlerVersion "1.5"" `
-AutoUpgradeMinorVersion $true `
-Setting $publicSettings `
-ProtectedSetting $protectedSettings
Update-AzVmss `
-ResourceGroupName $resourceGroupName `
-Name $vmssName `
-VirtualMachineScaleSet $vmss
Hibaelhárítás és támogatás
A VMAccess bővítménynaplói helyileg léteznek a virtuális gépen, és a hibaelhárítás során a leginformatívabbak.
Hely | Leírás |
---|---|
/var/log/waagent.log | A Linux-ügynök naplóit tartalmazza, és megjeleníti, hogy mikor történt frissítés a bővítményre. Ellenőrizheti, hogy a bővítmény futott-e. |
/var/log/azure/Microsoft.OSTCExtensions.VMAccessForLinux/* | A VMAccess bővítmény naplókat hoz létre, amelyek itt találhatók. A könyvtár tartalmazza CommandExecution.log az egyes végrehajtott parancsok és azok eredményének helyét, valamint extension.log az egyes végrehajtásokhoz tartozó egyedi naplókat. |
/var/lib/waagent/Microsoft.OSTCExtensions.VMAccessForLinux-legújabb< verzió>/config/* | A VMAccess virtuálisgép-bővítmény konfigurációja és bináris fájljai. |
Az alábbi parancs futtatásával lekérheti a VMAccess-bővítmény végrehajtási állapotát, valamint az adott virtuális gépen lévő többi bővítményt is:
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table
További segítségért forduljon az Azure-szakértőkhöz az Azure közösségi támogatási szolgálatánál. Másik lehetőségként Azure-támogatás incidenst is beszedhet. Nyissa meg a Azure-támogatás, és válassza a Támogatás kérése lehetőséget. Az Azure-támogatással kapcsolatos további információkért olvassa el a Azure-támogatás csomagokkal kapcsolatos gyakori kérdéseket.
Következő lépések
A kód, az aktuális verziók és további dokumentáció megtekintéséhez tekintse meg a VMAccess Linux – GitHub című témakört.