我在使用Azure虚拟机时遇到了问题。
我有虚拟机,它正在运行:
我有它自己的静态 IP地址:
我也允许从外面访问:
我知道,让所有的港口到外面是不好的,但这只是为了发展。
现在,当我尝试通过使用SSH连接到端口22中的静态IP地址时,它会引发错误消息。 就像这个地址不存在一样。
为什么发生这种情况?
几个月前,我能够与当前设置进行连接,现在Azure中发生了一些变化。
我也检查了资源的健康状况,它向我显示:
我也打开启动诊断,但有很多的信息。
这是链接到我的启动诊断日志文件
在Azure中,我们无法使用ping来testingAzure虚拟机状态, 默认情况下,Azure将阻止公共ICMPstream量 。 为了testing它,我们可以使用telnet来testing它,如下所示:
C:\Users>telnet xxx.xx.xx.xx 22
顺便说一下,如果我们通过VM命令closuresAzure虚拟机,Azure门户仍然显示虚拟机正在运行,只能通过Azure门户closuresAzure虚拟机,门户网站会将Azure虚拟机状态更改为停止。 所以我们应该使用telnet来testing它。
如果我们不能telnet这个虚拟机,也许我们可以通过Azure门户重新启动这个虚拟机,然后重新testing一下。 (通过Azure门户重新部署此虚拟机是一个好主意,Azure将使用旧configuration部署新虚拟机,与原始虚拟机相同,新虚拟机将部署到其他主机)
我们可以在这里重启这个VM:
有关重新部署Azure VM的更多信息,请参阅此链接 。
如果您在对Azure中的Linux虚拟机(VM)进行SSH或应用程序访问时遇到问题,则重新部署VM可能会有所帮助。 重新部署虚拟机时,会将虚拟机移动到Azure基础结构中的新节点,然后重新启动。 您的所有configuration选项和相关资源都将保留。 本文向您介绍如何使用Azure CLI或Azure门户重新部署VM。
如果重新启动或重新部署该虚拟机仍然无法远程login该虚拟机,也许我们应该在同一个VNet中部署另一个虚拟机,那么我们可以ping通内部IP地址来testing它是否正在运行。
如果我们能ping通这个虚拟机的内部IP地址,我们应该通过Azure门户重置虚拟机的SSHconfiguration 。 有关重置SShconfiguration的更多信息,请参阅本文 。
简而言之,我们可以重新启动(或重新部署)这个虚拟机并对其进行testing。 如果它不起作用,我们可以重置VM sshconfiguration。 之后,如果vm仍然无法SSH,请在这里张贴您的启动诊断。