我最初的理解是,Azure堡垒的作用就像在同一个虚拟网络上使用资源的轻量级SSH (和RDP)网关--特别是VM,而不是提供一个完整的VM作为一个跳转箱。也就是说,我希望能够做到这一点,从公共互联网上的任何地方,到SSH到同一个网络上的VM:
ssh -i /path/to/private.key -J BASTION_IP user@VM_IP其中,BASTION_IP是与Bastion资源相关联的公共IP,而VM_IP是连接到Bastion子网的兄弟子网中VM的内部IP地址。
我已经在Terraform中设置了这个,使用了“基本”Bastion SKU,但是,当我尝试连接时,它就超时了。在Azure中,有一个名为“本地客户端支持”的选项(它需要“标准”SKU),在相应的Terraform资源中作为tunneling_enabled参数公开。有了这些更改,我的连接仍然超时。
遵循文献兔子洞建议您必须使用Azure。事实上,我可以使用Azure CLI进行隧道挖掘--很明显,SSH扩展仅限于Windows --但它有点faff:
az login # I assume there's a way to login unattended
az account set --subscription SUBSCRIPTION_ID
az network bastion tunnel --name BASTION_NAME --resource-group RG_NAME --target-resource-id REALLY_LONG_VM_RESOURCE_ID --resource-port 22 --port 2222 &
ssh -i /path/to/private.key -p 2222 user@localhost有没有一种通过Azure堡垒将SSH‘’ing成Azure VM的非专有方式?还是我对用例的假设被取消了?
发布于 2022-02-15 08:43:38
您实际上只有两种使用SSH连接到Bastion的方法,使用本地客户端,这两种方法都涉及Azure CLI:
如果希望使用服务主体进行连接,则可以将此连接自动化,但假设您希望以用户身份进行连接,则需要存储用户凭据和处理MFA等可能会有些麻烦。
https://serverfault.com/questions/1093389
复制相似问题