启用 UFW,现在无法连接到我的 ubuntu azure 虚拟机

Enabled UFW, now can't connect to my ubuntu azure vm

我在我的 ubuntu linux 虚拟机上打开了 UFW,现在我无法通过 ssh(或任何东西)连接到它。在私有 IP 和 public IP 上。

我现在有什么方法可以连接到我的虚拟机吗?例如相当于物理机的 iLo 界面?

运行 在机器上作为 root:

ufw allow ssh

更严格的方法是:

ufw limit ssh

Here 是一篇描述这种情况的 msdn 博客。

简而言之:

  1. 登录到 Azure 门户
  2. VM 名称 > 扩展 > 添加 > Select“Linux 的自定义脚本”> 创建
  3. 上传我在下面附加的 bash 脚本。称之为 ufw_disable.sh
  4. 设置命令为sh ufw_disable.sh
  5. 点击确定,等待脚本部署执行。

该脚本将 运行 作为 root,因此无需在脚本内部执行 sudo(实际上这会导致失败)。

ufw_disable.sh:

ufw disable
ufw status

您可以从云端添加您的新 IP shell。

az vm run-command invoke -g VMResourceGroup -n VM --command-id RunShellScript --scripts "ufw allow from 74.125.90.78 to anyport 22"

将 ip 地址和端口更改为您自己的值。

Azure 门户提供了通过其门户进入串行控制台的最简单方法。按照这些步骤

Azure 门户 > 你的 VM > 支持 + 疑难解答 > 串行控制台。

现在即使您的防火墙阻止了 ssh,您也可以访问此串行控制台并使用 sudo ufw disable 简单地禁用它或将 22 ssh 端口添加到防火墙

@Vince 提供的方法不知何故对我不起作用

更简单的解决方案

设置串行控制台 Pic for serial console path

  1. 首先通过支持和故障设置用户名和密码 -> 重设密码
  2. 打开串行控制台 -> 登录
  3. sudo ufw 禁用 [bamm...]

使用最新的 Azure 更简单...救命稻草:

A​​zure 门户 > 你的虚拟机 > 运行 命令 > 运行Shell脚本

在 Linux Shell 脚本的文本框中,键入:

ufw 禁用

ufw 状态

点击运行按钮。完成。