你当前正在访问 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 密钥进行身份验证。 SSH 私钥必须采用以
"-----BEGIN RSA PRIVATE KEY-----"
开头并以
"-----END RSA PRIVATE KEY-----"
结尾的格式。
请确保已为 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 身份验证
-
用户名和密码
-
密码 - Azure Key Vault
-
本地文件中的 SSH 私钥
-
SSH 私钥 - Azure 密钥保管库
Microsoft Entra ID 身份验证(预览版)
门户中对 SSH 连接的 Microsoft Entra ID 身份验证支持处于预览状态,目前正在推出。
如果满足以下先决条件,则 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 的访问权限。
-
若要使用 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 常见问题解答
。