Bejelentkezés Linux rendszerű virtuális gépre az Azure-ban a Microsoft Entra ID és az OpenSSH használatával
A Linux rendszerű virtuális gépek (VM-ek) biztonságának javítása érdekében integrálhatja a Microsoft Entra-hitelesítést. Mostantól a Microsoft Entra ID-t használhatja alapszintű hitelesítési platformként, valamint egy hitelesítésszolgáltatót, a Microsoft Entra ID és az OpenSSH tanúsítványalapú hitelesítés használatával pedig SSH-t hozhat létre Linux rendszerű virtuális gépekre. Ez a funkció lehetővé teszi a szervezetek számára, hogy azure-beli szerepköralapú hozzáférés-vezérlési (RBAC) és feltételes hozzáférési szabályzatokkal kezeljék a virtuális gépekhez való hozzáférést.
Ez a cikk bemutatja, hogyan hozhat létre és konfigurálhat Linux rendszerű virtuális gépeket, és hogyan jelentkezhet be a Microsoft Entra ID-val OpenSSH-tanúsítványalapú hitelesítéssel.
A Microsoft Entra ID openSSH-tanúsítványalapú hitelesítéssel való használatának számos biztonsági előnye van a Linux rendszerű virtuális gépekre való bejelentkezéshez az Azure-ban. Ezek közé tartoznak a következők:
- A Microsoft Entra hitelesítő adataival jelentkezzen be Azure Linux rendszerű virtuális gépekre.
- SSH-kulcsalapú hitelesítést kérhet anélkül, hogy SSH-kulcsokat kellene terjesztenie a felhasználóknak, vagy nyilvános SSH-kulcsokat kellene kiépítenie a telepített Azure Linux rendszerű virtuális gépeken. Ez a tapasztalat sokkal egyszerűbb, mint aggódnia a elavult SSH nyilvános kulcsok elszórása miatt, amelyek jogosulatlan hozzáférést okozhatnak.
- Csökkentse a helyi rendszergazdai fiókokra, a hitelesítő adatok ellopására és a gyenge hitelesítő adatokra való támaszkodást.
- A Linux rendszerű virtuális gépek védelmének elősegítése a Microsoft Entra ID jelszó-összetettségi és jelszó-élettartam-szabályzatainak konfigurálásával.
- Az RBAC használatával adja meg, hogy ki jelentkezhet be a virtuális gépre normál felhasználóként vagy rendszergazdai jogosultságokkal. Amikor a felhasználók csatlakoznak a csapathoz, frissítheti a virtuális gép Azure RBAC-szabályzatát, hogy szükség szerint hozzáférést biztosítson. Amikor az alkalmazottak elhagyják a szervezetet, és felhasználói fiókjaik le vannak tiltva vagy eltávolítva a Microsoft Entra-azonosítóból, már nem férnek hozzá az erőforrásokhoz.
- A feltételes hozzáféréssel konfigurálja a szabályzatokat úgy, hogy többtényezős hitelesítést igényeljenek, vagy megkövetelje az ügyféleszköz felügyeletét (például a megfelelő vagy a Microsoft Entra hibrid csatlakoztatását), mielőtt az SSH-t linuxos virtuális gépekre használhatja.
- Az Azure üzembe helyezési és naplózási szabályzatainak használatával megkövetelheti a Microsoft Entra bejelentkezését Linux rendszerű virtuális gépeken, és megjelölheti a nem jóváhagyott helyi fiókokat.
Linux rendszerű virtuális gépekre való bejelentkezés a Microsoft Entra-azonosítóval működik az Active Directory összevonási szolgáltatások (AD FS) használó ügyfelek számára.
Támogatott Linux-disztribúciók és Azure-régiók
Jelenleg a következő Linux-disztribúciók támogatottak egy támogatott régióban történő üzembe helyezéshez:
Elosztás | Verzió |
---|---|
Common Base Linux Mariner (CBL-Mariner) | CBL-Mariner 1, CBL-Mariner 2 |
AlmaLinux | AlmaLinux 8, AlmaLinux 9 |
Debian | Debian 9, Debian 10, Debian 11, Debian 12 |
openSUSE | openSUSE Leap 42.3, openSUSE Leap 15.1+ |
Jóslat | Oracle Linux 8, Oracle Linux 9 |
RedHat Enterprise Linux (RHEL) | RHEL 7.4– RHEL 7.9, RHEL 8.3+, RHEL 9.0+ |
Sziklás | Sziklás 8, Sziklás 9 |
SUSE Linux Enterprise Server (SLES) | SLES 12, SLES 15.1+ |
Ubuntu | Ubuntu 16.04– Ubuntu 24.04 |
A szolgáltatás jelenleg a következő Azure-régiókat támogatja:
- Azure Global
- Azure Government
- A 21Vianet által üzemeltetett Microsoft Azure
Az Azure Kubernetes Service-fürtökön az Azure CLI SSH-bővítményének használata nem támogatott. További információ: Támogatási szabályzatok az AKS-hez.
Ha az Azure CLI helyi telepítését és használatát választja, annak a 2.22.1-es vagy újabb verziónak kell lennie. Futtassa az --version
a verziót. Ha telepítenie vagy frissítenie kell, tekintse meg az Azure CLI telepítését.
A Microsoft Entra-azonosítóval való bejelentkezés követelményeinek teljesítése OpenSSH-tanúsítványalapú hitelesítéssel
Ahhoz, hogy a Microsoft Entra SSH-tanúsítványalapú hitelesítéssel engedélyezze a Microsoft Entra-bejelentkezést linuxos virtuális gépekhez az Azure-ban, mindenképpen feleljen meg a következő hálózati, virtuális gépi és ügyféloldali (SSH-ügyfél) követelményeknek.
Hálózat
A virtuálisgép-hálózat konfigurációjának engedélyeznie kell a következő végpontokhoz való kimenő hozzáférést a 443-as TCP-porton keresztül.
Azure Global:
https://packages.microsoft.com
: Csomagtelepítéshez és -frissítésekhez.http://169.254.169.254
: Azure Instance Metadata Service-végpont.https://login.microsoftonline.com
: PAM-alapú (csatlakoztatható hitelesítési modulok) hitelesítési folyamatokhoz.https://pas.windows.net
: Azure RBAC-folyamatokhoz.
Azure Government:
https://packages.microsoft.com
: Csomagtelepítéshez és -frissítésekhez.http://169.254.169.254
: Azure Instance Metadata Service-végpont.https://login.microsoftonline.us
: PAM-alapú hitelesítési folyamatokhoz.https://pasff.usgovcloudapi.net
: Azure RBAC-folyamatokhoz.
A 21Vianet által üzemeltetett Microsoft Azure:
https://packages.microsoft.com
: Csomagtelepítéshez és -frissítésekhez.http://169.254.169.254
: Azure Instance Metadata Service-végpont.https://login.chinacloudapi.cn
: PAM-alapú hitelesítési folyamatokhoz.https://pas.chinacloudapi.cn
: Azure RBAC-folyamatokhoz.
Virtuális gép
Győződjön meg arról, hogy a virtuális gép a következő funkciókkal van konfigurálva:
- Rendszer által hozzárendelt felügyelt identitás. Ez a beállítás automatikusan ki lesz választva, amikor az Azure Portal használatával hoz létre virtuális gépeket, és kiválasztja a Microsoft Entra bejelentkezési lehetőséget. A rendszer által hozzárendelt felügyelt identitásokat egy új vagy meglévő virtuális gépen is engedélyezheti az Azure CLI használatával.
aadsshlogin
ésaadsshlogin-selinux
(szükség szerint). Ezek a csomagok az AADSSHLoginForLinux virtuálisgép-bővítménnyel vannak telepítve. A bővítmény akkor lesz telepítve, ha az Azure Portal vagy az Azure CLI használatával hoz létre virtuális gépeket, és engedélyezi a Microsoft Entra-bejelentkezést (Felügyelet lap).
Ügyfél
Győződjön meg arról, hogy az ügyfél megfelel a következő követelményeknek:
SSH-ügyféltámogatás OpenSSH-alapú tanúsítványokhoz hitelesítéshez. A követelmény teljesítéséhez használhatja az Azure CLI-t (2.21.1 vagy újabb verzió) az OpenSSH-val (a Windows 10 1803-es vagy újabb verziójában) vagy az Azure Cloud Shellrel.
SSH-bővítmény az Azure CLI-hez. Ezt a bővítményt a következővel
az extension add --name ssh
telepítheti: . Az Azure Cloud Shell használatakor nem kell telepítenie ezt a bővítményt, mert az előre telepítve van.Ha nem az Azure CLI-t vagy az OpenSSH-tanúsítványokat támogató Azure Cloud Shellt használja, akkor is az Azure CLI-t kell használnia az SSH-kiterjesztéssel a rövid élettartamú SSH-tanúsítványok és opcionálisan egy konfigurációs fájl lekéréséhez. Ezután használhatja a konfigurációs fájlt az SSH-ügyféllel.
TCP-kapcsolat az ügyfélről a virtuális gép nyilvános vagy privát IP-címéhez. (A ProxyCommand vagy az SSH továbbítása egy kapcsolattal rendelkező gépre is működik.)
Fontos
A PuTTY-alapú SSH-ügyfelek mostantól támogatják az OpenSSH-tanúsítványokat, és a Microsoft Entra OpenSSH tanúsítványalapú hitelesítéssel is bejelentkezhetnek.
Microsoft Entra-bejelentkezés engedélyezése Linux rendszerű virtuális gépekhez az Azure-ban
Ha Microsoft Entra-bejelentkezést szeretne használni linuxos virtuális géphez az Azure-ban, először engedélyeznie kell a Microsoft Entra bejelentkezési lehetőséget a Linux rendszerű virtuális géphez. Ezután azure-szerepkör-hozzárendeléseket konfigurálhat azokhoz a felhasználókhoz, akik jogosultak bejelentkezni a virtuális gépre. Végül használja az OpenSSH-t támogató SSH-ügyfelet, például az Azure CLI-t vagy az Azure Cloud Shellt, hogy SSH-t használjon a Linux rendszerű virtuális gépre.
A Microsoft Entra-bejelentkezést kétféleképpen engedélyezheti Linux rendszerű virtuális gépéhez:
- Az Azure Portal felülete Linux rendszerű virtuális gép létrehozásakor
- Az Azure Cloud Shell élménye Linux rendszerű virtuális gép létrehozásakor vagy meglévők használatakor
Azure Portal
A Microsoft Entra-bejelentkezést bármely támogatott Linux-disztribúcióhoz engedélyezheti az Azure Portal használatával.
Ha például egy Ubuntu Server 18.04 hosszú távú támogatási (LTS) virtuális gépet szeretne létrehozni az Azure-ban a Microsoft Entra bejelentkezésével:
- Jelentkezzen be az Azure Portalra egy olyan fiókkal, amely rendelkezik hozzáféréssel a virtuális gépek létrehozásához, majd válassza az + Erőforrás létrehozása lehetőséget.
- Válassza a Létrehozás lehetőséget az Ubuntu Server 18.04 LTS alatt a Népszerű nézetben.
- A Felügyelet lapon:
- Jelölje be a Bejelentkezés a Microsoft Entra-azonosítóval jelölőnégyzetet.
- Győződjön meg arról, hogy a rendszer által hozzárendelt felügyelt identitás jelölőnégyzet be van jelölve.
- Tekintse át a virtuális gép létrehozásának további élményét. Létre kell hoznia egy rendszergazdai fiókot felhasználónévvel és jelszóval vagy nyilvános SSH-kulccsal.
Azure Cloud Shell
Az Azure Cloud Shell egy ingyenes, interaktív rendszerhéj, amellyel a cikkben ismertetett lépéseket futtathatja. A gyakori Azure-eszközök előre vannak telepítve és konfigurálva a Cloud Shellben, hogy használhassa a fiókjával. Csak a Másolás gombra kattintva másolja a kódot, illessze be a Cloud Shellbe, majd az Enter billentyűt választva futtassa.
A Cloud Shellt többféleképpen is megnyithatja:
- A kódblokk jobb felső sarkában válassza a Kipróbálás lehetőséget.
- Nyissa meg a Cloud Shellt a böngészőben.
- Válassza a Cloud Shell gombot az Azure Portal jobb felső sarkában található menüben.
Ha úgy dönt, hogy helyileg telepíti és használja az Azure CLI-t, ebben a cikkben a 2.22.1-es vagy újabb verziót kell használnia. Futtassa az --version
a verziót. Ha telepítenie vagy frissítenie kell, tekintse meg az Azure CLI telepítését.
- Hozzon létre egy erőforráscsoportot az az group create futtatásával.
- Hozzon létre egy virtuális gépet az az vm create futtatásával. Támogatott disztribúció használata egy támogatott régióban.
- Telepítse a Microsoft Entra bejelentkezési virtuálisgép-bővítményt az az vm extension set használatával.
Az alábbi példa üzembe helyez egy virtuális gépet, majd telepíti a bővítményt, hogy engedélyezze a Microsoft Entra bejelentkezését linuxos virtuális gépeken. A virtuálisgép-bővítmények olyan kis alkalmazások, amelyek üzembe helyezés utáni konfigurációs és automatizálási feladatokat biztosítanak az Azure-beli virtuális gépeken. Szükség szerint testre szabhatja a példát a tesztelési követelmények támogatásához.
az group create --name AzureADLinuxVM --location southcentralus
az vm create \
--resource-group AzureADLinuxVM \
--name myVM \
--image Ubuntu2204 \
--assign-identity \
--admin-username azureuser \
--generate-ssh-keys
az vm extension set \
--publisher Microsoft.Azure.ActiveDirectory \
--name AADSSHLoginForLinux \
--resource-group AzureADLinuxVM \
--vm-name myVM
A virtuális gép létrehozása és az erőforrások támogatása néhány percet vesz igénybe.
Az AADSSHLoginForLinux bővítmény telepíthető egy meglévő (támogatott disztribúciós) Linux rendszerű virtuális gépre egy futó virtuálisgép-ügynökkel a Microsoft Entra-hitelesítés engedélyezéséhez. Ha ezt a bővítményt egy korábban létrehozott virtuális gépre telepíti, a virtuális gépnek legalább 1 GB memóriával kell rendelkeznie, vagy a telepítés sikertelen lesz.
Az provisioningState
érték Succeeded
akkor jelenik meg, ha a bővítmény sikeresen telepítve van a virtuális gépen. A bővítmény telepítéséhez a virtuális gépnek rendelkeznie kell egy futó virtuálisgép-ügynökkel .
Szerepkör-hozzárendelések konfigurálása a virtuális géphez
Most, hogy létrehozta a virtuális gépet, az alábbi Azure-szerepkörök egyikét kell hozzárendelnie annak meghatározásához, hogy ki tud bejelentkezni a virtuális gépre. A szerepkörök hozzárendeléséhez rendelkeznie kell a virtuális gép adathozzáférési rendszergazdái szerepkörével, vagy bármely olyan szerepkörével, amely tartalmazza a Microsoft.Authorization/roleAssignments/write
műveletet, például a szerepköralapú hozzáférés-vezérlési rendszergazdai szerepkört. Ha azonban más szerepkört használ, mint a virtuálisgép-adathozzáférési rendszergazda, javasoljuk, hogy adjon hozzá egy feltételt, amely csökkenti a szerepkör-hozzárendelések létrehozásának engedélyét.
- Virtuálisgép-rendszergazdai bejelentkezés: A szerepkörrel rendelkező felhasználók rendszergazdai jogosultságokkal jelentkezhetnek be egy Azure-beli virtuális gépre.
- Virtuális gép felhasználói bejelentkezése: A szerepkörrel rendelkező felhasználók bejelentkezhetnek egy rendszeres felhasználói jogosultságokkal rendelkező Azure-beli virtuális gépre.
Ahhoz, hogy egy felhasználó SSH-n keresztül jelentkezzen be egy virtuális gépre, a virtuális gép rendszergazdai bejelentkezési vagy virtuálisgép-felhasználói bejelentkezési szerepkörét kell hozzárendelnie ahhoz az erőforráscsoporthoz, amely a virtuális gépet és annak társított virtuális hálózatát, hálózati adapterét, nyilvános IP-címét vagy terheléselosztó-erőforrásait tartalmazza.
A virtuális gép tulajdonosi vagy közreműködői szerepkörrel rendelkező Azure-felhasználó nem rendelkezik automatikusan jogosultságokkal a Microsoft Entra számára, hogy SSH-val jelentkezzen be a virtuális gépre. Szándékos (és auditált) elkülönítés van a virtuális gépeket vezérlő személyek és a virtuális gépekhez hozzáférő személyek halmaza között.
A virtuális gépek szerepkör-hozzárendeléseinek kétféleképpen konfigurálhatók:
- Az Azure Portal felülete
- Azure Cloud Shell-élmény
Jegyzet
A virtuális gép rendszergazdai bejelentkezési és virtuálisgép-felhasználói bejelentkezési szerepkörei a felügyeleti csoport, az előfizetés, az erőforráscsoport vagy az erőforrás hatókörében használhatók dataActions
és rendelhetők hozzá. Javasoljuk, hogy a szerepköröket a felügyeleti csoport, az előfizetés vagy az erőforráscsoport szintjén rendelje hozzá, és ne az egyes virtuális gépek szintjén. Ez a gyakorlat elkerüli az Előfizetésenkénti Azure-szerepkör-hozzárendelési korlát elérésének kockázatát.
Azure Portal
Szerepkör-hozzárendelések konfigurálása Microsoft Entra ID-kompatibilis Linux rendszerű virtuális gépekhez:
Erőforráscsoport esetén válassza ki azt az erőforráscsoportot, amely a virtuális gépet és annak társított virtuális hálózatát, hálózati adapterét, nyilvános IP-címét vagy terheléselosztó-erőforrását tartalmazza.
Válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
Válassza a Szerepkör-hozzárendelés hozzáadása>lehetőséget a Szerepkör-hozzárendelés hozzáadása lap megnyitásához.
Rendelje hozzá a következő szerepkört. A részletes lépésekért lásd : Azure-szerepkörök hozzárendelése az Azure Portal használatával.
Beállítás Érték Szerep Virtuálisgép-rendszergazdai bejelentkezés vagy virtuálisgép-felhasználói bejelentkezés Hozzáférés hozzárendelése Felhasználó, csoport, szolgáltatásnév vagy felügyelt identitás
Néhány pillanat múlva a rendszer a biztonsági taghoz rendeli hozzá a szerepkört a kiválasztott hatókörben.
Azure Cloud Shell
Az alábbi példa az az role assignment create használatával rendeli hozzá a virtuális gép rendszergazdai bejelentkezési szerepkörét a virtuális géphez az aktuális Azure-felhasználóhoz. A jelenlegi Azure-fiók felhasználónevét az az account show használatával szerezheti be, és az előző lépésben létrehozott virtuális gépre állítja a hatókört az az virtuálisgép-megjelenítés használatával.
A hatókört erőforráscsoport vagy előfizetés szintjén is hozzárendelheti. A normál Azure RBAC-öröklési engedélyek érvényesek.
username=$(az account show --query user.name --output tsv)
rg=$(az group show --resource-group myResourceGroup --query id -o tsv)
az role assignment create \
--role "Virtual Machine Administrator Login" \
--assignee $username \
--scope $rg
Jegyzet
Ha a Microsoft Entra tartomány és a bejelentkezési felhasználónév tartománya nem egyezik meg, a felhasználói fiók objektumazonosítóját nem csak a felhasználónév --assignee
használatával --assignee-object-id
kell megadnia. A felhasználói fiók objektumazonosítóját az az ad felhasználói lista használatával szerezheti be.
Az Azure RBAC Azure-előfizetési erőforrásokhoz való hozzáférésének kezelésével kapcsolatos további információkért tekintse meg az Azure-szerepkörök hozzárendelésének lépéseit.
Az Azure CLI SSH-bővítményének telepítése
Ha Az Azure Cloud Shellt használja, nincs szükség más beállításra, mert az Azure CLI minimálisan szükséges verziója és az Azure CLI SSH-bővítménye már szerepel a Cloud Shell-környezetben.
Futtassa a következő parancsot az Azure CLI SSH-bővítményének hozzáadásához:
az extension add --name ssh
A bővítményhez szükséges minimális verzió a 0.1.4. Ellenőrizze a telepített verziót az alábbi paranccsal:
az extension show --name ssh
Feltételes hozzáférési szabályzatok kényszerítése
A Microsoft Entra-bejelentkezéssel engedélyezett feltételes hozzáférési szabályzatokat kényszerítheti ki, például:
- Többtényezős hitelesítést igényel.
- Megfelelő vagy Microsoft Entra hibrid csatlakoztatott eszköz megkövetelése az SSH-ügyfelet futtató eszközhöz.
- Kockázatok keresése a Linux rendszerű virtuális gépekhez való hozzáférés engedélyezése előtt az Azure-ban.
A feltételes hozzáférési szabályzatban megjelenő alkalmazást Azure Linux rendszerű virtuálisgép-bejelentkezésnek nevezzük.
Jegyzet
Az SSH-ügyfelet futtató eszközön eszközmegfelelőséget vagy Microsoft Entra hibrid csatlakozást igénylő feltételes hozzáférési szabályzat kényszerítése csak a Windowson és macOS rendszeren futó Azure CLI-vel működik. Ez nem támogatott, ha Az Azure CLI-t Linuxon vagy Azure Cloud Shellen használja.
Hiányzó alkalmazás
Ha az Azure Linux rendszerű virtuális gép bejelentkezési alkalmazása hiányzik a feltételes hozzáférésből, győződjön meg arról, hogy az alkalmazás nincs a bérlőben:
- Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhőalkalmazás-rendszergazdaként.
- Keresse meg az Identity>Applications>Enterprise-alkalmazásokat.
- Távolítsa el a szűrőket az összes alkalmazás megtekintéséhez és a virtuális gép kereséséhez. Ha ennek eredményeképpen nem látja a Microsoft Azure Linux rendszerű virtuális gép bejelentkezését, a szolgáltatásnév hiányzik a bérlőből.
Bejelentkezés Microsoft Entra felhasználói fiókkal az SSH-ba a Linux rendszerű virtuális gépre
Bejelentkezés az Azure CLI használatával
Adja meg az login
a elemet. Ez a parancs megnyitja a böngészőablakot, ahol a Microsoft Entra-fiókjával jelentkezhet be.
az login
Ezután írja be a következőt az ssh vm
: Az alábbi példa automatikusan feloldja a virtuális gép megfelelő IP-címét.
az ssh vm -n myVM -g AzureADLinuxVM
Ha a rendszer kéri, adja meg a Microsoft Entra bejelentkezési hitelesítő adatait a bejelentkezési oldalon, végezzen többtényezős hitelesítést, és/vagy feleljen meg az eszközellenőrzéseknek. A rendszer csak akkor kéri, ha Ön az Azure CLI-munkamenet, amely még nem felel meg a szükséges feltételes hozzáférési feltételeknek. Zárja be a böngészőablakot, térjen vissza az SSH-kéréshez, és automatikusan csatlakozik a virtuális géphez.
Most már bejelentkezett a Linux rendszerű virtuális gépre a hozzárendelt szerepkör-engedélyekkel, például a virtuálisgép-felhasználóval vagy a virtuálisgép-rendszergazdával. Ha a felhasználói fiókjához virtuálisgép-rendszergazdai bejelentkezési szerepkör van hozzárendelve, a sudo használatával futtathat gyökérjogjogokat igénylő parancsokat.
Bejelentkezés az Azure Cloud Shell használatával
Az Azure Cloud Shell használatával anélkül csatlakozhat virtuális gépekhez, hogy helyi telepítésre lenne szüksége az ügyfélszámítógépen. Indítsa el a Cloud Shellt az Azure Portal jobb felső sarkában található felületikon kiválasztásával.
A Cloud Shell automatikusan csatlakozik egy munkamenethez a bejelentkezett felhasználó kontextusában. Most futtassa az login
újra, és haladjon végig az interaktív bejelentkezési folyamaton:
az login
Ezután a normál az ssh vm
parancsokkal csatlakozhat a virtuális gép nevével és erőforráscsoportával vagy IP-címével:
az ssh vm -n myVM -g AzureADLinuxVM
Jegyzet
Az eszközmegfelelőséget vagy a Microsoft Entra hibrid csatlakozást igénylő feltételes hozzáférési szabályzatok kikényszerítése nem támogatott az Azure Cloud Shell használatakor.
Bejelentkezés a Microsoft Entra szolgáltatásnévvel az SSH-ba a Linux rendszerű virtuális gépre
Az Azure CLI felhasználói fiók helyett szolgáltatásnévvel támogatja a hitelesítést. Mivel a szolgáltatásnevek nincsenek egy adott felhasználóhoz kötve, az ügyfelek SSH-ra használhatják őket egy virtuális gépre, hogy támogassák az esetleges automatizálási forgatókönyveket. A szolgáltatásnévhez virtuálisgép-rendszergazdai vagy virtuálisgép-felhasználói jogosultságokkal kell rendelkeznie. Engedélyek hozzárendelése az előfizetés vagy az erőforráscsoport szintjén.
Az alábbi példa virtuálisgép-rendszergazdai jogosultságokat rendel a szolgáltatásnévhez az erőforráscsoport szintjén. Cserélje le a helyőrzőket a szolgáltatásnév objektumazonosítójára, az előfizetés azonosítójára és az erőforráscsoport nevére.
az role assignment create \
--role "Virtual Machine Administrator Login" \
--assignee-object-id <service-principal-objectid> \
--assignee-principal-type ServicePrincipal \
--scope "/subscriptions/<subscription-id>/resourceGroups/<resourcegroup-name>"
Az alábbi példában hitelesítheti magát az Azure CLI-ben a szolgáltatásnév használatával. További információ: Bejelentkezés az Azure CLI-be szolgáltatásnévvel.
az login --service-principal -u <sp-app-id> -p <password-or-cert> --tenant <tenant-id>
Ha a szolgáltatásnévvel végzett hitelesítés befejeződött, a virtuális géphez való csatlakozáshoz használja a normál Azure CLI SSH-parancsokat:
az ssh vm -n myVM -g AzureADLinuxVM
Az OpenSSH-t támogató SSH-ügyfelekhez használható SSH-konfiguráció exportálása
Az OpenSSH-tanúsítvány és -konfiguráció exportálását a Microsoft Entra AZONOSÍTÓval rendelkező Azure Linux rendszerű virtuális gépekre való bejelentkezés támogatja. Ez azt jelenti, hogy az OpenSSH-alapú tanúsítványokat támogató SSH-ügyfeleket használhatja a Microsoft Entra-azonosítón keresztüli bejelentkezéshez. Az alábbi példa exportálja a virtuális géphez rendelt összes IP-cím konfigurációját:
az ssh config --file ~/.ssh/config -n myVM -g AzureADLinuxVM
Másik lehetőségként exportálhatja a konfigurációt csak az IP-cím megadásával. Cserélje le az alábbi példában szereplő IP-címet a virtuális gép nyilvános vagy privát IP-címére. (Saját kapcsolatot kell létesítenie a privát IP-címekhez.) Ebben az ssh config -h
a parancsban segítséget kaphat.
az ssh config --file ~/.ssh/config --ip 10.11.123.456
Ezután normál OpenSSH-használattal csatlakozhat a virtuális géphez. A kapcsolat bármely OpenSSH-t használó SSH-ügyfélen keresztül elvégezhető.
Sudo futtatása Microsoft Entra-bejelentkezéssel
Miután a virtuálisgép-rendszergazdai szerepkörrel rendelkező felhasználók sikeresen SSH-t kaptak egy Linux rendszerű virtuális géphez, más beavatkozási vagy hitelesítési követelmény nélkül futtathatják a sudo-t. A virtuálisgép-felhasználói szerepkörhöz hozzárendelt felhasználók nem fogják tudni futtatni a sudo parancsot.
Csatlakozás virtuálisgép-méretezési csoportokban lévő virtuális gépekhez
A virtuálisgép-méretezési csoportok támogatottak, de a lépések kissé eltérnek a virtuálisgép-méretezési csoport virtuális gépeinek engedélyezéséhez és a virtuális gépekhez való csatlakozáshoz:
Hozzon létre egy virtuálisgép-méretezési csoportot, vagy válasszon egy már létezőt. Rendszer által hozzárendelt felügyelt identitás engedélyezése a virtuálisgép-méretezési csoporthoz:
az vmss identity assign --name myVMSS --resource-group AzureADLinuxVM
Telepítse a Microsoft Entra bővítményt a virtuálisgép-méretezési csoportra:
az vmss extension set --publisher Microsoft.Azure.ActiveDirectory --name AADSSHLoginForLinux --resource-group AzureADLinuxVM --vmss-name myVMSS
A virtuálisgép-méretezési csoportok általában nem rendelkeznek nyilvános IP-címekkel. Egy másik gépről kell csatlakoznia hozzájuk, amely elérheti az Azure-beli virtuális hálózatukat. Ez a példa bemutatja, hogyan használhatja egy virtuális gép magánhálózati IP-címét egy virtuálisgép-méretezési csoportban egy ugyanazon virtuális hálózatban lévő gépről való csatlakozáshoz:
az ssh vm --ip 10.11.123.456
Jegyzet
A virtuálisgép-méretezési csoport virtuális gépének IP-címei nem határozhatók meg automatikusan a kapcsolók és --name
a --resource-group
kapcsolók használatával.
Migrálás az előző (előzetes verzió) verzióról
Ha a Linuxhoz készült Microsoft Entra-bejelentkezés előző verzióját használja, amely az eszközkód-folyamaton alapult, hajtsa végre az alábbi lépéseket az Azure CLI használatával:
Távolítsa el az AADLoginForLinux bővítményt a virtuális gépen:
az vm extension delete -g MyResourceGroup --vm-name MyVm -n AADLoginForLinux
Jegyzet
A bővítmény eltávolítása sikertelen lehet, ha a virtuális gépen jelenleg bejelentkezett Microsoft Entra-felhasználók vannak. Győződjön meg arról, hogy az összes felhasználót kijelentkezteti a rendszer.
A rendszer által hozzárendelt felügyelt identitás engedélyezése a virtuális gépen:
az vm identity assign -g myResourceGroup -n myVm
Telepítse az AADSSHLoginForLinux bővítményt a virtuális gépre:
az vm extension set \ --publisher Microsoft.Azure.ActiveDirectory \ --name AADSSHLoginForLinux \ --resource-group myResourceGroup \ --vm-name myVM
A szabványoknak való megfelelés és a megfelelőség értékelése az Azure Policy használatával
Az Azure Policy használatával:
- Győződjön meg arról, hogy a Microsoft Entra bejelentkezés engedélyezve van az új és a meglévő Linux rendszerű virtuális gépeken.
- A környezet megfelelőségének felmérése nagy léptékben egy megfelelőségi irányítópulton.
Ezzel a képességgel számos kényszerítési szintet használhat. Megjelölhet olyan új és meglévő Linux rendszerű virtuális gépeket a környezetében, amelyeken nincs engedélyezve a Microsoft Entra-bejelentkezés. Az Azure Policy használatával a Microsoft Entra bővítményt olyan új Linux rendszerű virtuális gépeken is üzembe helyezheti, amelyeken nincs engedélyezve a Microsoft Entra-bejelentkezés, valamint a meglévő Linux rendszerű virtuális gépek szervizelését is ugyanarra a szabványra.
Ezen képességek mellett az Azure Policy használatával észlelheti és megjelölheti azokat a Linux rendszerű virtuális gépeket, amelyeken nem jóváhagyott helyi fiókokat hoztak létre a gépükön. További információért tekintse át az Azure Policyt.
Bejelentkezési problémák elhárítása
Az alábbi szakaszokban kijavíthatja azokat a gyakori hibákat, amelyek akkor fordulhatnak elő, ha SSH-t próbál meg használni a Microsoft Entra hitelesítő adataival.
Nem sikerült lekérni a jogkivonatot a helyi gyorsítótárból
Ha olyan üzenetet kap, amely szerint a jogkivonat nem kérhető le a helyi gyorsítótárból, újra kell futnia az login
, és át kell haladnia egy interaktív bejelentkezési folyamaton. Tekintse át az Azure Cloud Shell használatával történő bejelentkezésről szóló szakaszt.
Hozzáférés megtagadva: Az Azure-szerepkör nincs hozzárendelve
Ha "Az Azure-szerepkör nincs hozzárendelve" hibaüzenet jelenik meg az SSH-üzenetben, ellenőrizze, hogy konfigurálta-e az Azure RBAC-szabályzatokat a virtuális géphez, amely vagy a virtuálisgép-rendszergazdai bejelentkezési szerepkört vagy a virtuálisgép-felhasználói bejelentkezési szerepkört adja a felhasználónak. Ha problémákat tapasztal az Azure-szerepkör-hozzárendelésekkel kapcsolatban, olvassa el az Azure RBAC hibaelhárítása című cikket.
A régi (AADLoginForLinux) bővítmény törlésével kapcsolatos problémák
Ha az eltávolítási szkriptek sikertelenek, előfordulhat, hogy a bővítmény áttűnési állapotba kerül. Ha ez történik, a bővítmény elhagyhatja azokat a csomagokat, amelyeket az eltávolítás során el kell távolítania. Ilyen esetekben jobb, ha manuálisan eltávolítja a régi csomagokat, majd megpróbálja futtatni a az vm extension delete
parancsot.
Régi csomagok eltávolítása:
- Jelentkezzen be helyi felhasználóként rendszergazdai jogosultságokkal.
- Győződjön meg arról, hogy nincsenek bejelentkezett Microsoft Entra-felhasználók. Hívja meg a
who -u
parancsot, hogy lássa, ki van bejelentkezve. Ezután használjasudo kill <pid>
az összes munkamenet-folyamathoz, amelyet az előző parancs jelentett. - Futtassa
sudo apt remove --purge aadlogin
(Ubuntu/Debian),sudo yum remove aadlogin
(RHEL) vagysudo zypper remove aadlogin
(openSUSE vagy SLES). - Ha a parancs sikertelen, próbálkozzon az alacsony szintű eszközökkel, és tiltsa le a szkripteket:
- Ubuntu/Debian esetén futtassa a .
sudo dpkg --purge aadlogin
Ha a szkript miatt továbbra is sikertelen, törölje a/var/lib/dpkg/info/aadlogin.prerm
fájlt, és próbálkozzon újra. - Minden máshoz futtassa
rpm -e --noscripts aadogin
.
- Ubuntu/Debian esetén futtassa a .
- Ismételje meg a 3–4. lépést a csomag
aadlogin-selinux
esetében.
Bővítménytelepítési hibák
Az AADSSHLoginForLinux virtuálisgép-bővítmény telepítése a meglévő számítógépekre az alábbi ismert hibakódok egyikével meghiúsulhat.
Nem nulla kilépési kód 22
Ha a 22-es kilépési kód jelenik meg, az AADSSHLoginForLinux virtuálisgép-bővítmény állapota áttűnésként jelenik meg a portálon.
Ez a hiba azért fordul elő, mert rendszer által hozzárendelt felügyelt identitásra van szükség.
A megoldás a következő:
- Távolítsa el a sikertelen bővítményt.
- Rendszer által hozzárendelt felügyelt identitás engedélyezése az Azure-beli virtuális gépen.
- Futtassa újra a bővítménytelepítési parancsot.
Nem nulla kilépési kód 23
Ha a 23-as kilépési kód jelenik meg, az AADSSHLoginForLinux virtuálisgép-bővítmény állapota áttűnésként jelenik meg a portálon.
Ez a hiba akkor fordul elő, ha a régebbi AADLoginForLinux virtuálisgép-bővítmény még telepítve van.
A megoldás a régebbi AADLoginForLinux virtuálisgép-bővítmény eltávolítása a virtuális gépről. Az új AADSSHLoginForLinux virtuálisgép-bővítmény állapota ezután a portálon sikeres üzembe helyezésre változik.
Telepítési hibák HTTP-proxy használatakor
A bővítménynek HTTP-kapcsolatra van szüksége a csomagok telepítéséhez és a rendszeridentitás meglétének ellenőrzéséhez. A rendszer a környezetben walinuxagent.service
fut, és módosítást igényel ahhoz, hogy az ügynök értesüljön a proxybeállításokról. Nyissa meg /lib/systemd/system/walinuxagent.service
a fájlt a célgépen, és adja hozzá a következő sort a következő után [Service]
:
[Service]
Environment="http_proxy=http://proxy.example.com:80/"
Environment="https_proxy=http://proxy.example.com:80/"
Environment="no_proxy=169.254.169.254"
Indítsa újra az ügynököt (sudo systemctl restart walinuxagent
). Most próbálkozzon újra.
Az az ssh vm parancs a KeyError access_token
Ha a az ssh vm
parancs sikertelen, az Azure CLI-ügyfél elavult verzióját használja.
A megoldás az Azure CLI-ügyfél frissítése a 2.21.0-s vagy újabb verzióra.
Az SSH-kapcsolat lezárult
Miután egy felhasználó sikeresen bejelentkezett a használatávalaz login
, a virtuális géphez az ssh vm -ip <address>
az ssh vm --name <vm_name> -g <resource_group>
való csatlakozás sikertelen lehet a "Kapcsolat ip_address 22-s> port által bezárt<" paranccsal.
Ennek a hibának az egyik oka, hogy a felhasználó nincs hozzárendelve a virtuális gép rendszergazdai bejelentkezési vagy virtuálisgép-felhasználói bejelentkezési szerepköréhez a virtuális gép hatókörén belül. Ebben az esetben a megoldás az, hogy hozzáadja a felhasználót valamelyik Azure RBAC-szerepkörhöz a virtuális gép hatókörén belül.
Ez a hiba akkor is előfordulhat, ha a felhasználó egy szükséges Azure RBAC-szerepkörben van, de a rendszer által hozzárendelt felügyelt identitás le lett tiltva a virtuális gépen. Ebben az esetben hajtsa végre az alábbi műveleteket:
- Engedélyezze a rendszer által hozzárendelt felügyelt identitást a virtuális gépen.
- Hagyjon néhány percet, mielőtt a felhasználó megpróbál csatlakozni a használatával
az ssh vm --ip <ip_address>
.
Virtuálisgép-méretezési csoportokkal kapcsolatos csatlakozási problémák
A virtuálisgép-méretezési csoportokkal létesített virtuálisgép-kapcsolatok meghiúsulhatnak, ha a méretezési csoport példányai régi modellt futtatnak.
A méretezési csoportok példányainak a legújabb modellre való frissítése megoldhatja a problémát, különösen akkor, ha a Microsoft Entra Login bővítmény telepítése óta nem történt frissítés. A példányok frissítése szabványos méretezési csoportkonfigurációt alkalmaz az egyes példányokra.
Az AllowGroups vagy DenyGroups utasítások sshd_config az első bejelentkezés meghiúsulását okozzák a Microsoft Entra-felhasználók számára
Ha sshd_config vagy AllowGroups
DenyGroups
utasítást tartalmaz, az első bejelentkezés sikertelen a Microsoft Entra-felhasználók számára. Ha az utasítást azután adták hozzá, hogy a felhasználók már sikeresen bejelentkeztek, bejelentkezhetnek.
Az egyik megoldás az sshd_config eltávolítása és DenyGroups
az utasítások eltávolításaAllowGroups
.
Egy másik megoldás a sshd_config egy match user
szakaszának áthelyezése AllowGroups
és DenyGroups
áthelyezése. Győződjön meg arról, hogy az egyező sablon kizárja a Microsoft Entra-felhasználókat.
Engedély megtagadása az Azure Shellből a Linux Red Hat/Oracle 7.X virtuális géphez való csatlakozáskor.
A 7.4-es cél virtuális gép OpenSSH-kiszolgálójának verziója túl régi. Az OpenSSH-ügyfél 8.8-es verziójával nem kompatibilis verzió. További információért tekintse meg az RSA SHA256-tanúsítványokat .
Megkerülő megoldás:
- Hozzáadási lehetőség
"PubkeyAcceptedKeyTypes= +ssh-rsa-cert-v01@openssh.com"
aaz ssh vm
parancsban.
az ssh vm -n myVM -g MyResourceGroup -- -A -o "PubkeyAcceptedKeyTypes= +ssh-rsa-cert-v01@openssh.com"
- A beállítás
"PubkeyAcceptedKeyTypes= +ssh-rsa-cert-v01@openssh.com"
hozzáadása a következőben: ./home/<user>/.ssh/config file
Adja hozzá az "PubkeyAcceptedKeyTypes +ssh-rsa-cert-v01@openssh.com"
ügyfélkonfigurációs fájlhoz.
Host *
PubkeyAcceptedKeyTypes +ssh-rsa-cert-v01@openssh.com