使用 Microsoft Entra ID 进行 SSH 身份验证

安全外壳(SSH)是一种网络协议,它为在不安全网络上安全地运行网络服务提供加密。 它通常用于 Unix 和 Linux 等系统。 SSH 取代了 Telnet 协议,该协议在不安全的网络中不提供加密。

Microsoft Entra ID 为在 Azure 上运行的基于 Linux 的系统提供虚拟机(VM)扩展。 它还提供与 Azure CLI 和 OpenSSH 客户端集成的客户端扩展。

可以在以下情况下将 SSH 身份验证与 Active Directory 配合使用:

  • 使用需要远程命令行登录的基于 Linux 的 VM。

  • 在基于 Linux 的系统中运行远程命令。

  • 在不安全的网络中安全地传输文件。

系统的组件

下图显示了使用 Microsoft Entra ID 进行 SSH 身份验证的过程:

Microsoft Entra ID 的关系图,其中包含 SSH 协议。

系统包括以下组件:

  • 用户: 用户启动 Azure CLI 和 SSH 客户端,以设置与 Linux VM 的连接。 用户还提供用于身份验证的凭据。

  • Azure CLI: 用户与 Azure CLI 交互,以启动具有 Microsoft Entra ID 的会话、从 Microsoft Entra ID 请求生存期较短的 OpenSSH 用户证书,以及启动 SSH 会话。

  • 浏览器: 用户打开浏览器以对 Azure CLI 会话进行身份验证。 浏览器与标识提供者(Microsoft Entra ID)通信,以安全地对用户进行身份验证和授权。

  • OpenSSH 客户端: Azure CLI(或用户)使用 OpenSSH 客户端启动与 Linux VM 的连接。

  • Microsoft Entra ID: Microsoft Entra 对用户的标识进行身份验证,并向 Azure CLI 客户端颁发生存期较短的 OpenSSH 用户证书。

  • Linux VM: Linux VM 接受 OpenSSH 用户证书,并提供成功的连接。

后续步骤