我在 Azure 上创建了一个资源组和一个虚拟机。之后,我打开了虚拟机上的 22 端口以允许 ssh 连接。浏览器上的连接测试成功,但当我尝试通过 ssh 命令使用 PuTTY 或 PowerShell 连接时,连接超时。我使用了这些命令
az login
az group create -n testRG -l westeurope
az vm create -g testRG -n testVM --image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest
az vm --open-port --port 22 -g testRG -n testVM
我该如何修复它?
答案1
执行此命令 az vm open-port 时,它会创建一个网络安全组 (NSG) 并应用此规则,它用作快速测试,我建议您考虑先创建一个 NSG,然后像本文所述那样将其关联到您的 NIC 或子网 (https://docs.microsoft.com/en-us/azure/virtual-machines/linux/nsg-quickstart)。
为了验证此虚拟机的情况,您可以使用网络观察程序(https://docs.microsoft.com/en-us/azure/network-watcher/network-watcher-monitoring-overview),从此菜单中,您可以轻松确保规则、下一跳和其他选项是否正确。如果一切正常,您最好检查 Windows 防火墙或端口 22 上的服务是否确实在 VM 内运行。
要验证 Windows VM 中是否有端口 22 在监听,请运行此 CMD 命令
netstat -ano | findstr :22
此命令的输出必须至少有两行 IPv4 和 IPv6,如下所示:
netstat -ano | findstr :22 TCP 0.0.0.0:22 0.0.0.0:0 正在侦听 4 TCP [::]:22 [::]:0 正在侦听 4