你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure Bastion 创建与 Linux VM 的 SSH 连接
本文演示如何直接通过 Azure 门户安全无缝地与 Azure 虚拟网络中的 Linux VM 建立 SSH 连接。 使用 Azure Bastion 时,VM 不需要客户端、代理或其他软件。 也可使用 RDP 连接到 Linux VM。 有关信息,请参阅创建与 Linux VM 的 RDP 连接。
Azure Bastion 为预配它的虚拟网络中的所有 VM 提供安全的连接。 使用 Azure Bastion 可防止虚拟机向外部公开 RDP/SSH 端口,同时仍然使用 RDP/SSH 提供安全访问。 有关详细信息,请参阅什么是 Azure Bastion?。
使用 SSH 连接到 Linux 虚拟机时,可以使用用户名/密码和 SSH 密钥进行身份验证。 可通过以下方法之一使用 SSH 密钥连接到 VM:
- 手动输入的私钥
- 包含私钥信息的文件
SSH 私钥必须采用以 "-----BEGIN RSA PRIVATE KEY-----" 开头并以 "-----END RSA PRIVATE KEY-----" 结尾的格式。
先决条件
请确保已为 VM 所在的虚拟网络设置 Azure Bastion 主机。 有关详细信息,请参阅创建 Azure Bastion 主机。 在虚拟网络中预配和部署 Bastion 服务后,便可以使用它连接到此虚拟网络中的任何 VM。
必需的角色
需要使用以下角色进行连接:
- 虚拟机上的读者角色
- NIC 上的读者角色(使用虚拟机的专用 IP)
- Azure Bastion 资源上的读者角色
端口
若要通过 SSH 连接到 Linux VM,必须在 VM 上打开以下端口:
入站端口:SSH (22) 或
入站端口:自定义值(然后,你需要在通过 Azure Bastion 连接到 VM 时指定此自定义端口)
注意
如果要指定自定义端口值,则必须使用标准 SKU 对 Azure Bastion 进行配置。 基本 SKU 不允许指定自定义端口。
连接:使用用户名和密码
打开 Azure 门户。 转到要连接到的虚拟机,然后单击“连接”并从下拉列表中选择“Bastion”。
选择“Bastion”后,单击“使用 Bastion”。 如果未为虚拟网络预配 Bastion,请参阅配置 Bastion。
在“使用 Azure Bastion 连接”页上,输入“用户名”和“密码” 。
选择“连接”以连接到 VM。
连接:手动输入私钥
打开 Azure 门户。 转到要连接到的虚拟机,然后单击“连接”并从下拉列表中选择“Bastion”。
选择“Bastion”后,单击“使用 Bastion”。 如果未为虚拟网络预配 Bastion,请参阅配置 Bastion。
在“使用 Azure Bastion 连接”页上,输入“用户名”和“SSH 私钥” 。
将私钥输入到文本区域“SSH 私钥”中(或直接进行粘贴)。
选择“连接”以连接到 VM。
连接:使用私钥文件
打开 Azure 门户。 转到要连接到的虚拟机,然后单击“连接”并从下拉列表中选择“Bastion”。
选择“Bastion”后,单击“使用 Bastion”。 如果未为虚拟网络预配 Bastion,请参阅配置 Bastion。
在“使用 Azure Bastion 连接”页上,输入“用户名”和“本地文件中的 SSH 私钥” 。
通过浏览方式找到该文件,然后选择“打开”。
选择“连接”以连接到 VM。 单击“连接”后,可连接到此虚拟机的 SSH 将直接在 Azure 门户中打开。 此连接通过 HTML5 在虚拟机的专用 IP 上使用 Bastion 服务的端口 443 进行。
连接:使用存储在 Azure Key Vault 中的私钥
打开 Azure 门户。 转到要连接到的虚拟机,然后单击“连接”并从下拉列表中选择“Bastion”。
选择“Bastion”后,单击“使用 Bastion”。 如果未为虚拟网络预配 Bastion,请参阅配置 Bastion。
在“使用 Azure Bastion 连接”页上,输入“用户名”并选择“Azure Key Vault 中的 SSH 私钥” 。
选择“Azure Key Vault”下拉列表,并选择在其中存储 SSH 私钥的资源。
如果未设置 Azure Key Vault 资源,请参阅创建密钥保管库并将 SSH 私钥存储为新 Key Vault 机密的值。
确保对 Key Vault 中存储的机密具有“列出”和“获取”权限 。 若要为 Key Vault 资源分配访问策略和修改该资源的访问策略,请参阅分配 Key Vault 访问策略。
注意
请通过 PowerShell 或 Azure CLI 体验将 SSH 私钥作为机密存储在 Azure Key Vault 中。 通过 Azure Key Vault 门户体验存储私钥会干扰格式设置并导致登录失败。 如果确实已使用门户体验将私钥存储为机密,并且不再有权访问原始私钥文件,请参阅更新 SSH 密钥以使用新的 SSH 密钥对更新对目标 VM 的访问权限。
选择“Azure Key Vault 机密”下拉列表,然后选择包含 SSH 私钥值的 Key Vault 机密。
选择“连接”以连接到 VM。 单击“连接”后,可连接到此虚拟机的 SSH 将直接在 Azure 门户中打开。 此连接通过 HTML5 在虚拟机的专用 IP 上使用 Bastion 服务的端口 443 进行。
后续步骤
有关 Azure Bastion 的详细信息,请参阅 Bastion 常见问题解答。

