我正在尝试使用Azure CLI创建VM,并从Azure Cloud Shell将ssh
导入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
但是,当尝试通过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
我哪里做错了有什么建议吗?
此外,我还尝试在本地机器上的Powershell中运行这些命令。我发现,在创建新的资源组,然后启动VM后,我可以使用Powershell将ssh
安装到VM中。但当我断开与VM的连接,然后尝试将ssh
重新安装到VM中时,我无法重新连接,因为这会导致超时错误。如果我尝试在同一资源组下创建新VM,我根本无法将ssh
连接到该资源组。如果我创建新资源组和新VM,我可以在第一次使用ssh
,但在随后的尝试中不行。
5条答案
按热度按时间xzv2uavs1#
据我所知,您可以在创建Azure虚拟机后,通过Azure策略或当前订阅中的其他策略检查是否有NSG自动与您的虚拟机NIC或子网关联。它在NSG中添加了一些入站端口规则以阻止网络连接。如果你想SSH到你的Azure VM。它必须具有更高优先级的入站规则以允许访问端口22,如下所示。您还可以将客户端公共IP添加为规则中的源以缩小限制。
ep6jt1vc2#
尝试在Azure门户中测试连接
它会将您指向“网络”选项卡中可能阻止您连接的确切入站规则。
3xiyfsfu3#
意识到我已经失去了我的连接,由于网卡的变化:s在我的虚拟机,所以如果这是你也应该看看,并解除关联旧的公共IP地址(连接到您的旧网卡),并再次关联它,但与新的网卡。希望这对其他人有帮助:)
envsm3lx4#
在我的例子中,它解决了在Reset password〉Reset only configuration〉Update按钮中重置SSH配置的问题:
omqzjyyz5#
除了上述步骤外,您可能还需要从Windows服务手动启动OpenSSH SSH服务器服务。
Services.exe -〉OpenSSH SSH服务器-〉启动服务并将启动类型从手动设置为自动。