![如何使用同一端口通过 SSH 连接到同一 Azure 防火墙的不同虚拟机?](https://linux22.com/image/792431/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%90%8C%E4%B8%80%E7%AB%AF%E5%8F%A3%E9%80%9A%E8%BF%87%20SSH%20%E8%BF%9E%E6%8E%A5%E5%88%B0%E5%90%8C%E4%B8%80%20Azure%20%E9%98%B2%E7%81%AB%E5%A2%99%E7%9A%84%E4%B8%8D%E5%90%8C%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%9F.png)
我们有主机-Windows、代理-Linux(相同的 VNET,不同的子网)和 sftp-Linux(不同的 VNET 和子网)计算机,其中在端口 815 上启用了 SSH(对设置到每台计算机的域执行 SSH)。现在,我们已经实施了防火墙(新 VNET 和 AzureFirewallSubnet),并将 VM VNETS 与防火墙(对等)连接。在端口 815 上为 SSH 启用了 Dnat 规则,但通过防火墙,我们只能连接到一台首先启用了 SSH 的计算机(因为我们对所有计算机使用相同的端口)。我想知道是否有任何方法可以通过 SSH 连接到计算机的公共 IP,这样就无需在不同的端口或任何其他可能的方式设置 SSH。任何线索都将非常有帮助,因为我是防火墙和网络方面的完全初学者。提前致谢。
注意:基础设施完全使用 Terraform 构建。
答案1
我将设置一个 S2S VPN,并允许 VPN 将特定 IP 范围作为防火墙规则中不同 vnet 的源。
另一种选择是将 Azure Bastion 放置在需要 SSH 访问的不同虚拟网络中。Azure Bastion 是 Azure 中的一项托管服务,允许通过某种跳转主机进行安全 SSH,但由 Microsoft 管理。它允许您使用远程桌面协议 (RDP) 或安全 Shell (SSH) 通过 Azure 门户直接连接到虚拟机,从而无需公共 IP 地址或 VPN 连接。这通过减少对公共互联网的暴露来增强安全性并简化远程访问管理。