Ubuntu UFW防火墙:永久信任你本地电脑IP访问SSH
UFW添加的规则默认永久保存,重启服务器不会丢失,只要ufw开机自启即可。
1. 核心放行命令(替换IP为你本地电脑IP)
# 只允许【你的本地电脑IP】访问服务器SSH(22端口)
sudo ufw allow from 192.168.1.105 to any port 22 proto tcp comment "信任本机SSH"
把 192.168.1.105 换成你自己电脑的内网IP。
如果你的SSH不是22端口,把22改成你的ssh端口号,例如2222。
可选:放行整个局域网网段(家里所有设备都能ssh)
sudo ufw allow from 192.168.1.0/24 to any port 22/tcp comment "局域网SSH"
2. 安全基线(推荐,只放行这条ssh,其他入站全部拒绝)
# 默认拒绝所有外部主动连入
sudo ufw default deny incoming
# 允许服务器对外访问(不变)
sudo ufw default allow outgoing
3. 启用防火墙(开启+设置开机自启)
sudo ufw enable
提示警告输入
y确认。开启后ufw自动加入开机自启,重启服务器规则保留。
sudo systemctl is-enabled ufw
# 返回 enabled 代表开机自动加载防火墙和你的信任IP规则
确认ufw开机自启:
sudo systemctl is-enabled ufw
# 返回 enabled 代表开机自动加载防火墙和你的信任IP规则
4. 查看当前防火墙规则,验证是否生效
sudo ufw status verbose
To Action From
-- ------ ----
22/tcp ALLOW IN 192.168.1.105 # 你的本地IP
你会看到类似:
To Action From
-- ------ ----
22/tcp ALLOW IN 192.168.1.105 # 你的本地IP
5. 常用管理命令
# 删除这条信任IP规则(需要时)
sudo ufw delete allow from 192.168.1.105 to any port 22/tcp
# 关闭防火墙
sudo ufw disable
# 重置所有ufw规则(清空,谨慎!)
sudo ufw reset
⚠️ 重要提醒
- IP必须固定:如果你本地电脑是DHCP自动获取IP,电脑重启后IP会变,规则就失效。建议本地电脑设置静态内网IP。
- 先添加放行规则,再执行
ufw enable,否则直接锁死SSH连不上服务器! - 如果是云服务器:除了ufw,还要看云厂商控制台安全组,也要放行你的本地IP。
补充:如果用nftables(新版ubuntu可选)
新版Ubuntu也可以用nftables,但绝大多数ubuntu服务器默认使用ufw,上面命令直接用。
需要我顺便给你写个脚本,自动检测你本地电脑IP变化,自动更新ufw放行规则吗?适合DHCP动态IP的场景。