昨晚我犯了一个非常恼人的错误。在 Ubuntu 14.04 服务器上,我启用了 ufw,但忘记允许 ssh。然后我注销了。
自然,我现在被 ssh 锁定了。
幸运的是,我的托管商提供了修复功能,使我能够访问其服务器的文件系统来修复此类内容。
如何使用文件系统手动完全禁用防火墙?
或者
如何在 ufw 中手动添加允许 ssh 访问的规则?
我尝试在 /lib/ufw/user.rules 中设置一条规则,但没有作用。
任何帮助都将受到赞赏。
答案1
我找到了一个相当简单的方法来克服这种情况。
在
/etc/ufw/ufw.conf
有
已启用=是
将其设置为
ENABLED=否
下次重启时 ufw 将不会启动。对我来说有用
答案2
ufw
是 的前端iptables
。
iptables 的规则位于 上的文件中/etc/iptables.*
。
并将它们存储在 ufw 中/var/lib/ufw/user.rules
。
删除或清空文件应该可以起作用,重新启动后,iptables 上将不再有规则,因此每种类型的流量都会连接。
如果您无法删除这些文件,那么您可以尝试将其添加到/etc/rc.local
:
#!/bin/sh -e
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
它将重写 iptables 规则,因此重启后服务器将接受连接。