Gyors lépések: Nyilvános és privát SSH-kulcspár létrehozása és használata Linux rendszerű virtuális gépekhez az Azure-ban
A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek rugalmas méretezési ✔️ csoportjai
Biztonságos rendszerhéj -(SSH-) kulcspár használatával létrehozhat olyan virtuális gépeket (VM-eket) az Azure-ban, amelyek SSH-kulcsokat használnak a hitelesítéshez. Ez a cikk bemutatja, hogyan hozhat létre és használhat gyorsan SSH nyilvános-titkos kulcsú fájlpárokat Linux rendszerű virtuális gépekhez. Ezeket a lépéseket az Azure Cloud Shell, egy macOS vagy Egy Linux-gazdagép használatával hajthatja végre.
Ha segítségre van szüksége az SSH-val kapcsolatos problémák elhárításához, olvassa el az Azure Linux rendszerű virtuális géphez való SSH-kapcsolatok hibaelhárítását, amely sikertelen, hibás vagy elutasított.
Feljegyzés
Az SSH-kulcsokkal létrehozott virtuális gépek alapértelmezés szerint letiltott jelszavakkal vannak konfigurálva, ami jelentősen növeli a találgatásos találgatásos támadások nehézségét.
További háttér- és példákért tekintse meg az SSH-kulcspárok létrehozásának részletes lépéseit.
Az SSH-kulcsok Windows rendszerű számítógépeken történő létrehozásának és használatának további módjai: SSH-kulcsok használata a Windowson az Azure-ban.
Támogatott SSH-kulcsformátumok
Az Azure jelenleg a következő kulcstípusokat támogatja:
- SSH protokoll 2 (SSH-2) RSA (Rivest, Shamir, Adleman) minimális hossza 2048 bit
- ED25519 256 bites rögzített hosszúságú kulcsok
Az egyéb kulcsformátumok, például az Elliptic-curve Diffie–Hellman (ECDH) és az Elliptic Curve Digital Signature Algorithm (ECDSA) jelenleg nem támogatottak.
SSH-kulcs létrehozása
ssh-keygen
A paranccsal nyilvános és titkos kulcsú SSH-fájlokat hozhat létre. Alapértelmezés szerint ezek a fájlok a ~/.ssh könyvtárban jönnek létre. A titkos kulcsfájl eléréséhez megadhat egy másik helyet és egy opcionális jelszót (jelszó). Ha egy azonos nevű SSH-kulcspár található a megadott helyen, a rendszer felülírja ezeket a fájlokat.
A következő parancs egy SSH-kulcspárt hoz létre RSA-titkosítással és egy 4096-os bithosszsal:
ssh-keygen -m PEM -t rsa -b 4096 -f ~/.ssh/id_rsa.pem
Az alábbi parancs egy SSH-kulcspárt hoz létre ED25519 titkosítással, rögzített hossza 256 bit:
ssh-keygen -m PEM -t ed25519 -f ~/.ssh/id_ed25519.pem
Feljegyzés
Az Azure CLI-vel kulcspárokat is létrehozhat az az sshkey create paranccsal, az SSH-kulcsok létrehozása és tárolása című cikkben leírtak szerint.
Ha az Azure CLI-vel hozza létre a virtuális gépet az az vm create paranccsal, igény szerint létrehozhat SSH nyilvános és titkos kulcsfájlokat a --generate-ssh-keys
lehetőséggel. A kulcsfájlok a ~/.ssh könyvtárban vannak tárolva, kivéve, ha a --ssh-dest-key-path
beállítás másként van megadva. Ha már létezik ssh-kulcspár, és használja a --generate-ssh-keys
beállítást, a rendszer nem hoz létre új kulcspárt, hanem a meglévő kulcspárt fogja használni. A következő parancsban cserélje le a virtuális gép nevét, az RGname-t és az UbuntuLTS-t a saját értékeire:
az vm create --name VMname --resource-group RGname --image Ubuntu2204 --generate-ssh-keys
Feljegyzés
az sshkey create command deafults to RSA encryption, és nem használható ED25519 kulcspárok létrehozásához, de létrehozhat egy ED25519 kulcspárt a fent leírt ssh-keygen használatával, majd ezt a nyilvános kulcsot használva hozhat létre virtuális gépet.
Nyilvános SSH-kulcs megadása virtuális gép üzembe helyezésekor
Ha olyan Linux rendszerű virtuális gépet szeretne létrehozni, amely SSH-kulcsokat használ a hitelesítéshez, adja meg az SSH nyilvános kulcsát a virtuális gép Azure Portal, Azure CLI, Azure Resource Manager-sablonok vagy más módszerek használatával történő létrehozásakor:
- Linux rendszerű virtuális gép létrehozása az Azure Portallal
- Linux rendszerű virtuális gép létrehozása az Azure CLI-vel
- Linux rendszerű virtuális gép létrehozása Azure-sablonnal
Ha nem ismeri az SSH nyilvános kulcs formátumát, a következő paranccsal jelenítheti meg a nyilvános kulcsot cat
, szükség esetén lecserélheti ~/.ssh/id_rsa.pub
a saját nyilvános kulcsú fájl elérési útját és fájlnevét:
RSA kulcspár
cat ~/.ssh/id_rsa.pub
Egy tipikus RSA nyilvános kulcsérték a következő példához hasonlóan néz ki:
ssh-rsa AAAAB3NzaC1yc2EAABADAQABAAACAQC1/KanayNr+Q7ogR5mKnGpKWRBQU7F3Jjhn7utdf7Z2iUFykaYx+MInSnT3XdnBRS8KhC0IP8ptbngIaNOWd6zM8hB6UrcRTlTpwk/SuGMw1Vb40xlEFphBkVEUgBolOoANIEXriAMvlDMZsgvnMFiQ12tD/u14cxy1WNEMAftey/vX3Fgp2vEq4zHXEliY/sFZLJUJzcRUI0MOfHXAuCjg/qyqqbIuTDFyfg8k0JTtyGFEMQhbXKcuP2yGx1uw0ice62LRzr8w0mszftXyMik1PnshRXbmE2xgINYg5xo/ra3mq2imwtOKJpfdtFoMiKhJmSNHBSkK7vFTeYgg0v2cQ2+vL38lcIFX4Oh+QCzvNF/AXoDVlQtVtSqfQxRVG79Zqio5p12gHFktlfV7reCBvVIhyxc2LlYUkrq4DHzkxNY5c9OGSHXSle9YsO3F1J5ip18f6gPq4xFmo6dVoJodZm9N0YMKCkZ4k1qJDESsJBk2ujDPmQQeMjJX3FnDXYYB182ZCGQzXfzlPDC29cWVgDZEXNHuYrOLmJTmYtLZ4WkdUhLLlt5XsdoKWqlWpbegyYtGZgeZNRtOOdN6ybOPJqmYFd2qRtb4sYPniGJDOGhx4VodXAjT09omhQJpE6wlZbRWDvKC55R2d/CSPHJscEiuudb+1SG2uA/oik/WQ== username@domainname
ED25519 kulcspár
cat ~/.ssh/id_ed25519.pub
Egy tipikus ED25519 nyilvános kulcs értéke az alábbi példához hasonlóan néz ki:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILRjWGWLeiUQ3U9fNnCsNpXIyACpD/Jbm09OZGsz3DIM username@domainname
Ha az Azure Portalon vagy a Resource Manager-sablonban használni kívánt nyilvános kulcsfájl tartalmát másolja és illessze be, győződjön meg arról, hogy nem másol záró szóközt. A nyilvános kulcs macOS rendszerben való másolásához a nyilvános kulcsfájlt a következőre pbcopy
helyezheti. A Linuxhoz hasonlóan a nyilvános kulcsfájlt olyan programokra is átirányíthatja, mint a xclip
.
A Linux rendszerű virtuális gépen az Azure-ban elhelyezett nyilvános kulcs alapértelmezés szerint címtárban ~/.ssh/
van tárolva, kivéve, ha a kulcspár létrehozásakor más helyet adott meg. Ha az Azure CLI 2.0-val szeretné létrehozni a virtuális gépet egy meglévő nyilvános kulccsal, adja meg a nyilvános kulcs értékét és opcionális helyét az az vm create paranccsal a --ssh-key-values
beállítással. A következő parancsban cserélje le a myVM, a myResourceGroup, az UbuntuLTS, az azureuser és a mysshkey.pub értéket a saját értékeire:
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image Ubuntu2204 \
--admin-username azureuser \
--ssh-key-values mysshkey.pub
Ha több SSH-kulcsot szeretne használni a virtuális géppel, azokat vesszővel elválasztott listában, például ebben --ssh-key-values sshkey-desktop.pub, sshkey-laptop.pub
a listában adhatja meg.
Bejelentkezés a virtuális gépre SSH-val
Az Azure-beli virtuális gépen üzembe helyezett nyilvános kulccsal és a helyi rendszeren lévő titkos kulccsal az SSH-t a virtuális gép ip-címével vagy DNS-nevével telepítheti a virtuális gépre. A következő parancsban cserélje le az Azureuser és myvm.westus.cloudapp.azure.com a rendszergazdai felhasználónévre és a teljes tartománynévre (vagy IP-címre):
ssh azureuser@myvm.westus.cloudapp.azure.com
Ha első alkalommal csatlakozik ehhez a virtuális géphez, a rendszer kérni fogja, hogy ellenőrizze a gazdagép ujjlenyomatát. Csábító elfogadni a bemutatott ujjlenyomatot, de ez a megközelítés egy lehetséges, középen belüli támadást tesz lehetővé. Mindig ellenőrizze a gazdagép ujjlenyomatát. Ezt csak akkor kell megtennie, amikor először csatlakozik egy ügyfélhez. A gazdagép ujjlenyomatának portálon keresztüli lekéréséhez használja a Parancs futtatása funkciót a parancs ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
végrehajtásához.
A parancs parancssori felülettel való futtatásához használja a következőt az vm run-command invoke
: .
Ha a kulcspár létrehozásakor megadott egy jelszót, akkor a bejelentkezési folyamat során a rendszer ezt a jelszót adja meg. A virtuális gép hozzá lesz adva a ~/.ssh/known_hosts fájlhoz, és a rendszer nem kéri újra a csatlakozást, amíg az Azure-beli virtuális gép nyilvános kulcsa nem változik, vagy a kiszolgáló neve el nem távolítva a ~/.ssh/known_hosts fájlból.
Ha a virtuális gép a just-in-time hozzáférési szabályzatot használja, a virtuális géphez való csatlakozás előtt hozzáférést kell kérnie. A just-in-time szabályzatról további információt a virtuális gépek hozzáférésének kezelése a just in time szabályzat használatával című témakörben talál.
Következő lépések
Az SSH-kulcspárok használatával kapcsolatos további információkért lásd az SSH-kulcspárok létrehozásának és kezelésének részletes lépéseit.
Ha nehézségekbe ütközik az Azure-beli virtuális gépek SSH-kapcsolataival kapcsolatban, tekintse meg az Azure Linux rendszerű virtuális gépekkel létesített SSH-kapcsolatok hibaelhárítását.