一、初始化一键命令
首先用ubuntu用户登陆,然后切换到 root 用户。
sudo su
然后直接执行这个命令
sed -i 's/.*ssh-rsa/ssh-rsa/' ~/.ssh/authorized_keys && apt-get update && apt-get install ufw -y && iptables -P INPUT ACCEPT && iptables -P FORWARD ACCEPT && iptables -P OUTPUT ACCEPT && iptables -F && apt-get purge netfilter-persistent -y && rm -rf /etc/iptables && ufw allow ssh && ufw --force enable && sed -i 's/^#DNS=.*/DNS=1.1.1.1 8.8.8.8/' /etc/systemd/resolved.conf && systemctl restart systemd-resolved && ufw status
**备注说明:**强烈建议大家开机的时候粘贴公钥进行开机,这样不用设置什么ssh
二、新鸡核心问题
- Root 登录受限:默认公钥前缀带有拦截脚本,强制要求使用
ubuntu用户。 - 防火墙难用: 自带的iptables防火墙命令复杂。
- DNS 解析滞后:默认使用内网 DNS,解析
.quest、.top等后缀或新域名时经常报错(Name or service not known)。
三、 脚本详细拆解(原理说明)
如果你想知道脚本具体做了什么,可以参考以下步骤:
1. 开启 Root 登陆
使用 sed 正则匹配并替换 /root/.ssh/authorized_keys 中 ssh-rsa 之前的所有干扰指令,恢复纯净公钥,让你能直接以 Root 身份登录。
2. 防火墙切换ufw
- 清空旧规则:先将
iptables策略设为全放行并清空(iptables -F),防止操作一半断网。 - 卸载残留:卸载
netfilter-persistent。这是甲骨文系统的“灵魂枷锁”,不删掉它,你的防火墙规则重启后就会被还原。 - 启用 UFW:预先放行 SSH 端口,然后强制启用 UFW,让防火墙管理变得简单直观。
3. 优化 DNS 解析
修改 systemd-resolved 配置,将上游解析器锁定为 1.1.1.1 (Cloudflare) 和 8.8.8.8 (Google),解决域名解析不到的问题。
四、 常用命令备查
- 查看防火墙状态:
ufw status - 临时放行端口(如 80 端口):
ufw allow 80/tcp - 测试 DNS 是否通畅:
nslookup 你的域名
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END






暂无评论内容