logo NodeSeekbeta

新 VPS 到手后的 10 分钟安全加固清单(Debian/Ubuntu)

刚收到机器就直接跑服务,SSH 端口很快就会被扫爆。下面是我每次开新机都会做的几步,照着复制粘贴就行,老鸟可以直接跳过~

1. 更新系统

apt update && apt upgrade -y

2. 新建普通用户,别一直用 root

adduser seeker            # 用户名自己改
usermod -aG sudo seeker

3. 改用 SSH 密钥登录

在本地电脑上执行:

ssh-keygen -t ed25519
ssh-copy-id seeker@你的IP

确认能用密钥登录以后,再编辑服务器上的 /etc/ssh/sshd_config:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

然后重启 SSH:

systemctl restart ssh

⚠️ **重要:先别关当前窗口!**另开一个终端测试能不能登录,确认没问题了再关,不然可能把自己锁在外面。

(想改端口的话,在同一个文件里加一行 Port 你的端口。Ubuntu 22.10 及以上版本用 socket 启动 SSH,改完要执行 systemctl daemon-reload && systemctl restart ssh.socket 才能生效。)

4. 开防火墙

apt install ufw -y
ufw allow 22/tcp          # 改过端口的话写新端口!
ufw allow 80,443/tcp      # 用到网站再开
ufw enable
ufw status

⚠️ 一定要先放行 SSH 端口再 enable。

5. 装 fail2ban 防爆破

apt install fail2ban python3-systemd -y
cat > /etc/fail2ban/jail.local <<EOF
[sshd]
enabled = true
backend = systemd
maxretry = 5
bantime = 1h
EOF
systemctl restart fail2ban
fail2ban-client status sshd

Debian 12 默认没有 /var/log/auth.log,所以要加 backend = systemd,不然 fail2ban 起不来。

6. 自动安装安全更新

apt install unattended-upgrades -y
dpkg-reconfigure -plow unattended-upgrades

7.(可选)开启 BBR

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
sysctl net.ipv4.tcp_congestion_control   # 输出 bbr 就成功了

做完这些,绝大部分扫端口、爆破密码的脚本基本就拿你没办法了。大家还有什么开机必做的步骤,欢迎在评论区补充 🙌

123
  • 学习了

  • 谢谢

  • 请教下,运行中的机子能参照这个再做一遍吗?

  • 厉害 投鸡腿

  • ac01 AI帮我都做了

  • 每个vps都单独一套密钥吗,感觉会很麻烦,我vps都是同一套

  • 密钥登录是底线

  • 我一直是SSH密钥非22端口登录,一直用root,让他们扫去吧

  • 我基本就是改个端口。。

  • 我不装fail2ban,改个SSH端口,禁密码登录,强制密钥登录,ufw只放行必要端口,基本就够了

123

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72523位seeker

🎉欢迎新用户🎉