我已在我的 Azure 订阅中创建了 Azure Baston 主机和 VM,我可以通过提供用户名和密码从 Azure 门户 SSH 到我的 VM,我正在寻找替代 SSH 方法,例如 CLI SSH。
我不想从 Azure 门户使用基于浏览器的 SSH,请告诉我从 CLI 通过 Bastion 主机 SSH 到 VM 的任何方法。
据我了解您的要求,这对于涉及 Azure Bastion 来说似乎无效。
Azure Bastion,根据设计,是一项服务,旨在通过 TLS 直接从 Azure 门户提供到 VM 的 RDP/SSH 连接。它被构建为 PaaS 服务,并完全由平台本身管理。
如上所述,Bastion 主机部署在 VNet 中,用户使用任何 HTML5 浏览器连接到 Azure 门户。
如果这不适合您的用例,您可能需要考虑构建自己的跳转盒并自定义配置您的 NSG 以强化安全性。
Azure Bastion 现在支持使用 Windows 工作站上的本机 RDP 或 SSH 客户端连接到 Azure 中的目标 VM。
您的本地 Linux 工作站尚无法使用本机客户端支持。
更多信息请参见:https://learn.microsoft.com/en-us/azure/bastion/connect-native-client-windows
az login
az account set --subscription "<subscription ID>"
az network bastion ssh \
--name "<BastionName>" \
--resource-group "<ResourceGroupName>" \
--target-resource-id "<VMResourceId>" \
--auth-type "ssh-key" \
--username "<Username>" \
--ssh-key "<Filepath>"
我遇到了这个问题并使用 Apache Guacamole 解决了它。我已经将它安装在虚拟机上(使用 docker),但我想您可以使用容器实例或类似的东西。 它还与用于 SSO 的 Azure AD 很好地集成。 鳄梨酱是免费的,运行在廉价的虚拟机上,而且更灵活。 事实上,它们的界面几乎是一样的。看起来 Azure Bastion 只是 Guacamole 的部署,由 Microsoft 管理。