使用 Azure CLI 生成并存储 SSH 密钥
适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集 ✔️ 统一规模集
可以在创建 VM 之前创建 SSH 密钥,并将这些密钥存储在 Azure 中。 每个新创建的 SSH 密钥也存储在本地。
如果有现有的 SSH 密钥,则可以将其上传并存储在 Azure 中以供重复使用。
有关详细信息,请参阅详细步骤:创建和管理用于 Azure 中 Linux VM 的身份验证的 SSH 密钥。
有关如何在 Linux VM 中创建和使用 SSH 密钥的详细信息,请参阅使用 SSH 密钥连接到 Linux VM。
生成新密钥
首先为 Azure CLI 准备环境:
可以使用本地 Azure CLI。
如果需要,请安装 Azure CLI 来运行 CLI 参考命令。
本地 Azure CLI,请了解如何安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
通过使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展。
运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
在登录后,使用 az sshkey create 命令创建新的 SSH 密钥:
az sshkey create --name "mySSHKey" --resource-group "myResourceGroup"
注意
此命令默认为 RSA 密钥类型。为了生成 ED25519 密钥,你可以传入可选标志
--encryption-type Ed25519
。生成的输出列出了新密钥文件的路径:
Private key is saved to "/home/user/.ssh/7777777777_9999999". Public key is saved to "/home/user/.ssh/7777777777_9999999.pub".
更改私钥文件的权限以保护隐私:
chmod 600 /home/user/.ssh/7777777777_9999999
连接到 VM
在本地计算机上,打开 Bash 提示符:
ssh -identity_file <path to the private key file> username@<ipaddress of the VM>
例如,输入 ssh -i /home/user/.ssh/mySSHKey azureuser@123.45.67.890
上传 SSH 密钥
可以上传公共 SSH 密钥以存储在 Azure 中。
使用 az sshkey create 命令通过指定 SSH 公钥的文件上传 SSH 公钥:
az sshkey create --name "mySSHKey" --public-key "@/home/user/.ssh/7777777777_9999999.pub" --resource-group "myResourceGroup"
列出密钥
使用 az sshkey list 命令列出所有公共 SSH 密钥,可选择指定资源组:
az sshkey list --resource-group "myResourceGroup"
获取公钥
使用 az sshkey show 命令显示公共 SSH 密钥的值:
az sshkey show --name "mySSHKey" --resource-group "myResourceGroup"
后续步骤
若要详细了解如何在 Azure VM 中使用 SSH 密钥,请参阅使用 SSH 密钥连接到 Linux VM。