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

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

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

可以在以下情况下使用 Active Directory 进行 SSH 身份验证:

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

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

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

系统的组件

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

示意图为采用 SSH 协议的 Microsoft Entra ID。

系统包括以下组件:

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

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

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

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

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

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

后续步骤