我在 VPS 服务器上安装了 UFW,apt install ufw
当我使用它ufw enable
来启动防火墙时,之后我的 putty 会话过期,我无法再使用该 ssh 密钥登录,我必须更改 ssh 密钥或禁用防火墙或删除我的整个操作系统并重新安装它。我已经检查并确定,当我启动 UFW 防火墙时,我无法使用 ssh 密钥连接到我的 vps。
- 防火墙 = UFW 防火墙
- 启动命令 =
ufw enable
- 错误原因 = ufw 防火墙阻止使用 putty 或任何其他终端连接 ssh 密钥
- 错误输出 =
ssh: connect to host <VPS_IP> port <VPS_PORT> : Connection timed out
- VPS 使用的操作系统 =
Ubuntu 20.04
答案1
在 SSH 会话中启用 UFW 之前,您需要将 SSH 端口列入白名单。如果已启用,则必须使用 VPS 提供商的虚拟控制台将帖子列入白名单。
SSH 有一个标准的应用程序配置文件: /etc/ufw/applications.d/openssh-server
。因此,如果您不使用自定义 SSH 端口,则可以通过以下命令激活此配置文件:
sudo ufw limit OpenSSH
如果使用自定义 SSH 端口,您可以创建自定义配置文件,如下所述:手动更新 ufw 配置文件可以吗? 或者您可以通过以下命令手动允许端口:
sudo ufw limit 2222/tcp
2222
其中,自定义端口是哪个,以及tcp
您需要在该端口允许的协议是哪个。
上面的例子中,使用了limit
等效的命令,allow
但增加了一些暴力破解保护,这适用于 SSH。
请注意,当您在启用 UFW 时删除它时,它发布的规则会保留,iptables
因此如果您想彻底删除 UFW,请先禁用它。