无法SSH到Azure VM

无法SSH到Azure VM,azure,ssh,virtual-machine,azure-resource-manager,azure-vm-role,Azure,Ssh,Virtual Machine,Azure Resource Manager,Azure Vm Role,我在Azure上有一个Ubuntu虚拟机(资源组,而不是经典的虚拟机),一切都是开箱即用的。我最近尝试使用Putty通过SSH连接到虚拟机,但我做不到 我收到错误:网络错误:连接超时 我已经确保在VM入站规则上为SSH打开了端口22 大约2个月前,我为一个辅助项目设置了这个VM,当时我能够轻松地使用SSH,没有任何问题。现在我不能。我错过什么了吗 附:HTTP工作正常。我有网站在上面运行,它显示在浏览器中。另外,我尝试使用基于浏览器的SSH客户端,它能够通过SSH连接到VM。本地防火墙似乎存在

我在Azure上有一个Ubuntu虚拟机(资源组,而不是经典的虚拟机),一切都是开箱即用的。我最近尝试使用Putty通过SSH连接到虚拟机,但我做不到

我收到错误:
网络错误:连接超时

我已经确保在VM入站规则上为SSH打开了端口22

大约2个月前,我为一个辅助项目设置了这个VM,当时我能够轻松地使用SSH,没有任何问题。现在我不能。我错过什么了吗


附:HTTP工作正常。我有网站在上面运行,它显示在浏览器中。另外,我尝试使用基于浏览器的SSH客户端,它能够通过SSH连接到VM。

本地防火墙似乎存在问题。尝试在门户中重置SSH配置

  • 转到Azure门户
  • 选择有问题的虚拟机
  • 选择重置 密码
  • 仅选择重置配置
  • 选择更新

  • 我之所以添加此选项,是因为它可能会帮助某些人,但选择的答案对我来说并不适用

    出于某种原因,ubuntu服务器上的防火墙

    转到
    Serial Console
    输入您的ssh用户名,您将登录到服务器

    检查防火墙状态以查看是否允许端口22

    sudo ufw状态详细

    如果规则不存在,则添加它

    sudo ufw允许ssh


    在Azure上创建新VM时,默认情况下端口22上的协议TCP被禁用。我们需要允许这一点

    如下:
    我遇到了同样的问题。下面是我如何解决这个问题的:

  • 创建虚拟机时不要添加任何端口,只有在创建虚拟机后才添加端口
  • 在networking选项卡中添加端口22,直到VM状态为Running

  • 创建以下目录:
    mkdir-p/run/sshd

    然后重新启动服务:
    systemctl重新启动ssh


    这肯定会解决您的问题。

    您可以使用telnet端口22吗?如果您没有检查,请尝试以下故障排除步骤,看看是否有帮助:这太荒谬了!我能够SSH到VM中,直到它自己停止,我必须按照这个过程来修复它。他们在问题中清楚地表明他们已经这样做了。我认为这是优先级问题,需要设置默认优先级330