Ubuntu 16.04 如何在启动时通过配置禁用 UFW

Ubuntu 16.04 如何在启动时通过配置禁用 UFW

我有一个 Ubuntu 16.04 AWS 实例,由于启用了 UFW 而没有允许 SSH 使用端口 22,我意外地将自己锁定在了该实例之外。我创建了一个新实例,并将受影响实例的卷挂载到该实例上。

现在我可以访问受影响实例的文件系统,如何阻止 UFW 在启动时运行,以便我可以再次通过 SSH 访问该实例?或者,如何通过配置文件允许 SSH 访问端口 22?

我在网上查看了一下,我的文件结构似乎与其他人使用的文件结构不匹配。在/media/myDrive/lib/ufw我没有user.rulesuser6.rules;这些在/etc/ufw/。我已user*.rules按如下方式编辑文件以允许访问,但当我重新启动服务器时,我仍然无法通过 SSH 访问它。

#user.rules
-A ufw-user-input -p tcp --dport 22 -j ACCEPT
-A ufw-user-input -p udp --dport 22 -j ACCEPT
#user6.rules
-A ufw6-user-input -p tcp --dport 22 -j ACCEPT
-A ufw6-user-input -p udp --dport 22 -j ACCEPT

引用自这个SO问题:启用防火墙后无法 ssh 进入 AWS EC2

答案1

您可以尝试通过/etc/ufw/ufw.conf以下方式在启动时禁用 UFW:

ENABLED=no

答案2

pa4080 的回答似乎就像正确答案一样,但我发现在默认安装 Ubuntu 14.04 后,UFW 阻止了 ping 和 Samba 连接,即使这ENABLED=no是 中的默认设置/etc/ufw/ufw.conf。在我停止 UFW 后,service ufw stop我能够按预期连接到机器。

启动时禁用 UFW

在 Ubuntu 14.10 及更早版本中:sudo echo manual > /etc/init/ufw.override

在 Ubuntu 15.04 及更高版本上:sudo systemctl disable ufw

关于其他任何事情或只是为了确保:sudo echo "service ufw stop" >> /etc/init.d/rc.local

相关内容