你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure Bastion 创建与 Linux VM 的 SSH 连接
本文演示如何直接通过 Azure 门户安全无缝地与 Azure 虚拟网络中的 Linux VM 建立 SSH 连接。 使用 Azure Bastion 时,VM 不需要客户端、代理或其他软件。
Azure Bastion 为预配它的虚拟网络中的所有 VM 提供安全连接。 使用 Azure Bastion 可防止虚拟机向外部公开 RDP/SSH 端口,同时仍然使用 RDP/SSH 提供安全访问。 有关详细信息,请参阅什么是 Azure Bastion?一文。
使用 SSH 连接到 Linux 虚拟机时,可以使用用户名/密码和 SSH 密钥进行身份验证。
先决条件
请确保已为 VM 所在的虚拟网络设置 Azure Bastion 主机。 有关详细信息,请参阅创建 Azure Bastion 主机。 在虚拟网络中预配和部署 Bastion 服务后,便可以使用它连接到此虚拟网络中的任何 VM。
可用的连接设置和功能取决于所使用的 Bastion SKU。 确保 Bastion 部署使用所需的 SKU。
- 若要查看每个 SKU 层的可用功能和设置,请参阅“Bastion 概述”一文的 SKU 和功能部分。
- 若要检查 Bastion 部署的 SKU 层并在必要时升级,请参阅升级 Bastion SKU。
必需的角色
需要使用以下角色进行连接:
- 虚拟机上的读者角色。
- NIC 上的读者角色(使用虚拟机的专用 IP)。
- Azure Bastion 资源上的读者角色。
- 目标虚拟机的虚拟网络上的读者角色(如果 Bastion 部署位于对等互连虚拟网络中)。
端口
若要通过 SSH 连接到 Linux VM,必须在 VM 上打开以下端口:
- 入站端口:SSH (22) 或
- 入站端口:自定义值(在通过 Azure Bastion 连接到 VM 时,需要指定此自定义端口)。 此设置不适用于基本或开发人员 SKU。
Bastion 连接页
在 Azure 门户中,转到要连接到的虚拟机。 在虚拟机“概述”页顶部,选择“连接”,然后从下拉列表中选择“通过 Bastion 连接”。 此操作会打开“Bastion”页面。 可以直接在左侧窗格中转到“Bastion”页面。
在“Bastion”页面上,可以配置的设置取决于为堡垒主机配置使用的 Bastion SKU 层。
如果使用高于基本 SKU 的 SKU,则可以看到“连接设置”值(端口和协议)可见,并且可以进行配置。
如果使用基本 SKU 或开发人员 SKU,则无法配置“连接设置”值。 连接会改为使用以下默认设置:SSH 和端口 22。
若要查看并选择可用的“身份验证类型”,请使用下拉列表。
按本文中的以下部分配置身份验证设置并连接到 VM。
Microsoft Entra ID 身份验证
注意
门户中对 SSH 连接的 Microsoft Entra ID 身份验证支持仅支持 Linux VM。
如果满足以下先决条件,则 Microsoft Entra ID 将成为连接到 VM 的默认选项。 否则,Microsoft Entra ID 不会显示为选项。
先决条件:
应在 VM 上启用 Microsoft Entra ID 登录。 可以在创建 VM 期间或通过将 Microsoft Entra ID 登录扩展添加到预先存在的 VM 来启用 Microsoft Entra ID 登录。
应在 VM 上为用户配置以下所需角色之一:
- 虚拟机管理员登录:如果要使用管理员权限登录,则需要此角色。
- 虚拟机用户登录:如果要使用常规用户权限登录,则需要此角色。
使用以下步骤通过 Microsoft Entra ID 进行身份验证。
要使用 Microsoft Entra ID 进行身份验证,请配置以下设置。
连接设置:仅适用于高于基本 SKU 的 SKU。
- 协议:选择 SSH。
- 端口:指定端口号。
身份验证类型:从下拉列表中选择“Microsoft Entra ID”。
若要在新的浏览器选项卡中使用 VM,请选择“在新建浏览器选项卡中打开”。
单击“连接”以连接到 VM。
密码验证
使用以下步骤通过用户名和密码进行身份验证。
若要使用用户名和密码进行身份验证,请配置以下设置。
连接设置:仅适用于高于基本 SKU 的 SKU。
- 协议:选择 SSH。
- 端口:指定端口号。
身份验证类型:从下拉列表中选择“密码”。
用户名:输入用户名。
密码:输入密码。
若要在新的浏览器选项卡中使用 VM,请选择“在新建浏览器选项卡中打开”。
单击“连接”以连接到 VM。
密码身份验证 - Azure 密钥保管库
使用以下步骤通过 Azure Key Vault 中的密码进行身份验证。
若要使用 Azure 密钥保管库中的密码进行身份验证,请配置以下设置。
连接设置:仅适用于高于基本 SKU 的 SKU。
- 协议:选择 SSH。
- 端口:指定端口号。
身份验证类型:从下拉列表中选择“Azure Key Vault 中的密码”。
用户名:输入用户名。
订阅:选择订阅。
Azure Key Vault:选择 Key Vault。
Azure Key Vault 机密:选择包含 SSH 私钥值的 Key Vault 机密。
如果未设置 Azure Key Vault 资源,请参阅创建密钥保管库并将 SSH 私钥存储为新 Key Vault 机密的值。
确保对 Key Vault 中存储的机密具有“列出”和“获取”权限 。 若要为 Key Vault 资源分配访问策略和修改该资源的访问策略,请参阅分配 Key Vault 访问策略。
使用 PowerShell 或 Azure CLI 体验将 SSH 私钥作为机密存储在 Azure 密钥保管库中。 通过 Azure 密钥保管库门户体验存储私钥会干扰格式设置并导致登录失败。 如果确实已使用门户体验将私钥存储为机密,并且不再有权访问原始私钥文件,请参阅更新 SSH 密钥以使用新的 SSH 密钥对更新对目标 VM 的访问权限。
若要在新的浏览器选项卡中使用 VM,请选择“在新建浏览器选项卡中打开”。
单击“连接”以连接到 VM。
SSH 私钥身份验证 - 本地文件
使用以下步骤通过本地文件中的 SSH 私钥进行身份验证。
若要使用本地文件中的私钥进行身份验证,请配置以下设置。
连接设置:仅适用于高于基本 SKU 的 SKU。
- 协议:选择 SSH。
- 端口:指定端口号。
身份验证类型:从下拉列表中选择“本地文件中的 SSH 私钥”。
用户名:输入用户名。
本地文件:选择本地文件。
SSH 密码:如有必要,请输入 SSH 密码。
若要在新的浏览器选项卡中使用 VM,请选择“在新建浏览器选项卡中打开”。
单击“连接”以连接到 VM。
SSH 私钥身份验证 - Azure 密钥保管库
使用以下步骤通过 Azure Key Vault 中存储的私钥进行身份验证。
若要使用 Azure 密钥保管库中存储的私钥进行身份验证,请配置以下设置。 对于基本 SKU,无法配置连接设置,而是使用默认连接设置:SSH 和端口 22。
连接设置:仅适用于高于基本 SKU 的 SKU。
- 协议:选择 SSH。
- 端口:指定端口号。
身份验证类型:从下拉列表中选择“Azure Key Vault 中的 SSH 私钥”。
用户名:输入用户名。
订阅:选择订阅。
Azure Key Vault:选择 Key Vault。
如果未设置 Azure Key Vault 资源,请参阅创建密钥保管库并将 SSH 私钥存储为新 Key Vault 机密的值。
确保对 Key Vault 中存储的机密具有“列出”和“获取”权限 。 若要为 Key Vault 资源分配访问策略和修改该资源的访问策略,请参阅分配 Key Vault 访问策略。
使用 PowerShell 或 Azure CLI 体验将 SSH 私钥作为机密存储在 Azure 密钥保管库中。 通过 Azure 密钥保管库门户体验存储私钥会干扰格式设置并导致登录失败。 如果确实已使用门户体验将私钥存储为机密,并且不再有权访问原始私钥文件,请参阅更新 SSH 密钥以使用新的 SSH 密钥对更新对目标 VM 的访问权限。
Azure Key Vault 机密:选择包含 SSH 私钥值的 Key Vault 机密。
若要在新的浏览器选项卡中使用 VM,请选择“在新建浏览器选项卡中打开”。
单击“连接”以连接到 VM。
后续步骤
有关 Azure Bastion 的详细信息,请参阅 Bastion 常见问题解答。