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.

Megjegyzé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 támogatja a 2. SSH protokoll (SSH-2) nyilvános-privát RSA kulcspárokat, amelyek minimális hossza 2048 bit. Más kulcsformátumok, például a ED25519 és az ECDSA 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

Megjegyzé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

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:

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:

cat ~/.ssh/id_rsa.pub

Egy tipikus nyilvános kulcsérték az alábbi 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

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 pbcopyhelyezheti. 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 kulcsot alapértelmezés szerint a ~/.ssh/id_rsa.pub tárolja, hacsak nem adott meg másik helyet a kulcspár létrehozásakor. 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.puba 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.

Screenshot showing using the Run Command to validate the host fingerprint.

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.

További lépések