Bejelentkezés Linux rendszerű virtuális gépre az Azure-ban a Microsoft Entra ID és az OpenSSH használatával

Figyelemfelhívás

Ez a cikk a CentOS-ra, egy olyan Linux-disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Fontolja meg a használatát, és ennek megfelelően tervezze meg. További információ: CentOS End Of Life útmutató.

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 például az alábbiak:

  • 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:

Disztribúció Verzió
Common Base Linux Mariner (CBL-Mariner) CBL-Mariner 1, CBL-Mariner 2
CentOS CentOS 7, CentOS 8
Debian Debian 9, Debian 10, Debian 11, Debian 12
openSUSE openSU Standard kiadás Ugrás 42.3, openSU Standard kiadás Ugrás 15.1+
Oracle Oracle Linux 8, Oracle Linux 9
RedHat Enterprise Linux (RHEL) RHEL 7.4– RHEL 7.9, RHEL 8.3+
SU Standard kiadás Linux Enterprise Server (SLES) SLES 12, SLES 15.1+
Ubuntu Server Ubuntu Server 16.04–Ubuntu Server 22.04, minden alverzió az Ubuntu 22.04 után

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. A verzió azonosításához futtassa a következőt: az --version. Ha telepíteni vagy frissíteni szeretne, olvassa el az Azure CLI telepítését ismertető cikket.

Feljegyzés

Ez a funkció az Azure Arc-kompatibilis kiszolgálókhoz is elérhető.

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.

Network (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 és aadsshlogin-selinux (szükség szerint). Ezeket a csomagokat az AADSSHLoginForLinux virtuálisgép-bővítménnyel együtt lehet telepíteni. 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 sshtelepí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:

  1. 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.
  2. Válassza a Létrehozás lehetőséget az Ubuntu Server 18.04 LTS alatt a Népszerű nézetben.
  3. A Felügyelet lapon:
    1. Jelölje be a Bejelentkezés a Microsoft Entra-azonosítóval jelölőnégyzetet.
    2. 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.
  4. 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 olyan ingyenes interaktív kezelőfelület, amelyet a jelen cikkben található lépések végrehajtására használhat. A gyakran használt Azure-eszközök már előre telepítve és konfigurálva vannak a Cloud Shellben a fiókjával történő használathoz. 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 Shell többféleképpen is megnyitható:

  • Kattintson a Kipróbálás elemre egy kódblokk jobb felső sarkában.
  • Nyissa meg a Cloud Shellt a böngészőben.
  • Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra.

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. A verzió azonosításához futtassa a következőt: az --version. Ha telepíteni vagy frissíteni szeretne, olvassa el az Azure CLI telepítését ismertető cikket.

  1. Hozzon létre egy erőforráscsoportot az az group create futtatásával.
  2. 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.
  3. 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 és a kapcsolódó erőforrások létrehozása csak 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álisgép-adatelérési Rendszergazda istrator szerepkörével, vagy bármely olyan szerepkörsel, amely tartalmazza a Microsoft.Authorization/roleAssignments/write műveletet, például a szerepköralapú hozzáférés-vezérlési Rendszergazda istrator szerepkört. Ha azonban más szerepkört használ, mint a Virtual Machine Data Access Rendszergazda istrator, javasoljuk, hogy adjon hozzá egy feltételt, amely csökkenti a szerepkör-hozzárendelések létrehozásának engedélyét.

  • Virtual Machine Rendszergazda istrator Login: 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, ki kell osztania a virtuális gép Rendszergazda istrator bejelentkezési vagy virtuálisgép-felhasználói bejelentkezési szerepkört a virtuális gépet és a hozzá tartozó virtuális hálózatot, hálózati adaptert, nyilvános IP-címet vagy terheléselosztó-erőforrásokat tartalmazó erőforráscsoporthoz.

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ékosan (és ellenőrzött módon) vannak különválasztva azok a személyek, akik felügyelik a virtuális gépeket, és azok, akik hozzáférhetnek a virtuális gépekhez.

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

Feljegyzés

A virtuális gép Rendszergazda istrator bejelentkezési és virtuálisgép-felhasználói bejelentkezési szerepkörei használhatókdataActions, és hozzárendelhetők a felügyeleti csoporthoz, előfizetéshez, erőforráscsoporthoz vagy erőforrás-hatókörhöz. 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:

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

  2. Válassza a Hozzáférés-vezérlés (IAM) lehetőséget.

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

  4. 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
    Szerepkör Virtuális gép Rendszergazda istrator bejelentkezése vagy virtuális gép felhasználói bejelentkezése
    Hozzáférés hozzárendelése a következőhöz: Felhasználó, csoport, szolgáltatásnév vagy felügyelt identitás

    A szerepkör-hozzárendelés hozzáadására szolgáló lap képernyőképe.

Néhány pillanat múlva a rendszerbiztonsági tagot a rendszer hozzárendeli a szerepkörhöz 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 Rendszergazda istrator bejelentkezési szerepkört az aktuális Azure-felhasználó virtuális gépéhez. 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

Feljegyzés

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 --assigneehasználatával --assignee-object-idkell 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.

Feljegyzés

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:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhőalkalmazásként Rendszergazda istratorként.
  2. Keresse meg az Identity>Applications>Enterprise-alkalmazásokat.
  3. 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

Írja be az login. Ez a parancs megnyitja a böngészőablakot, ahol a Microsoft Entra-fiókjával jelentkezhet be.

az login 

Ezután írja be az az ssh vm parancsot. 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 virtuálisgép-felhasználóval vagy virtuálisgép-Rendszergazda istratorral. Ha a felhasználói fiókjához hozzá van rendelve a virtuális gép Rendszergazda istrator bejelentkezési szerepköre, 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

Feljegyzés

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-Rendszergazda istrator vagy virtuálisgép-felhasználói jogosultságokat kell hozzárendelni. Engedélyek hozzárendelése az előfizetés vagy az erőforráscsoport szintjén.

Az alábbi példa virtuálisgép-Rendszergazda istrator-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. Csatlakozás az OpenSSH-t használó SSH-ügyfélen keresztül is elvégezhető.

Sudo futtatása Microsoft Entra-bejelentkezéssel

Miután a virtuálisgép-Rendszergazda istrator szerepkörrel rendelkező felhasználók sikeresen SSH-t kaptak egy Linux rendszerű virtuális gépre, 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ális gépekre a virtuálisgép-méretezési csoportokban

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:

  1. 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
    
  2. 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

Feljegyzés

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:

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

    Feljegyzés

    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.

  2. 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
    
  3. 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álata a következőkre:

  • 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éssel kapcsolatos 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-Rendszergazda istrator bejelentkezési szerepkört vagy a virtuális gép felhasználói bejelentkezési szerepkörét biztosítja 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:

  1. Jelentkezzen be helyi felhasználóként rendszergazdai jogosultságokkal.
  2. 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álja sudo kill <pid> az összes munkamenet-folyamathoz, amelyet az előző parancs jelentett.
  3. Futtatás sudo apt remove --purge aadlogin (Ubuntu/Debian), sudo yum remove aadlogin (RHEL vagy CentOS) vagy sudo zypper remove aadlogin (openSU Standard kiadás vagy SLES).
  4. Ha a parancs sikertelen, próbálkozzon az alacsony szintű eszközökkel, és tiltsa le a szkripteket:
    1. 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.
    2. Minden máshoz futtassa rpm -e --noscripts aadogin.
  5. Ismételje meg a 3–4. lépést a csomag aadlogin-selinuxeseté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ő:

  1. Távolítsa el a sikertelen bővítményt.
  2. Rendszer által hozzárendelt felügyelt identitás engedélyezése az Azure-beli virtuális gépen.
  3. 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 "Csatlakozás ion ip_address 22-s> port által <bezárva".

Ennek a hibának az egyik oka, hogy a felhasználó nincs hozzárendelve a virtuális gép Rendszergazda istrator 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:

  1. Engedélyezze a rendszer által hozzárendelt felügyelt identitást a virtuális gépen.
  2. Hagyjon néhány percet, mielőtt a felhasználó megpróbál csatlakozni a használatával az ssh vm --ip <ip_address>.

Csatlakozás virtuálisgép-méretezési csoportokkal kapcsolatos 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 AllowGroupsDenyGroups 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/CentOS 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" a az 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

Következő lépések