无法通过 ssh 访问 Azure VM — 连接超时

wbi*_*tor 5 ssh azure azure-virtual-machine

我正在尝试使用 Azure CLI 创建一个 VM,并ssh从 Azure Cloud Shell 进入该 VM。我按照官方指南(https://learn.microsoft.com/en-us/azure/virtual-machines/linux/quick-create-cli)运行以下命令:

$ az group create --name myGroupName --location westus2
$ az vm create --resource-group myGroupName --name myVmName --image UbuntuLTS --admin-username azureuser --generate-ssh-keys
Run Code Online (Sandbox Code Playgroud)

但是,当尝试通过ssh上面第二个命令报告的公共 IP 地址进行连接时,连接超时:

$ ssh -vvv azureuser@publicIpAddress
OpenSSH_7.2p2 Ubuntu-4ubuntu2.10, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "publicIpAddress" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to publicIpAddress [publicIpAddress] port 22.
debug1: connect to address publicIpAddress port 22: Connection timed out
ssh: connect to host publicIpAddress  port 22: Connection timed out
Run Code Online (Sandbox Code Playgroud)

关于我做错了什么有什么建议吗?

此外,我尝试在本地计算机上的 Powershell 中运行这些命令。我发现在创建新的资源组,然后启动虚拟机后,我可以ssh使用 Powershell 进入虚拟机。但是,当我与虚拟机断开连接然后尝试ssh重新连接时,我无法重新连接,因为这会导致超时错误。如果我尝试在同一资源组下创建新的虚拟机,我ssh根本无法进入它。相反,如果我创建一个新的资源组和一个新的虚拟机,我可以ssh第一次进入,但在后续尝试中无法进入。

Nan*_*ong 5

据我所知,您可以在创建 Azure VM 后,通过 Azure 策略或当前订阅中的其他策略检查是否有自动与您的 VM NIC 或子网关联的 NSG。可能是它在 NSG 中添加了一些入站端口规则来阻止网络连接。如果您想通过 SSH 连接到 Azure VM。它必须具有更高优先级的入站规则以允许访问端口 22,如下所示。您还可以将客户端公共 IP 添加为规则中的源以缩小限制。

在此输入图像描述