OffshoreVps
安全2026年9月25日阅读约 9 分钟作者:OffshoreVps 团队

如何在 15 分钟内保护一台新的 Linux VPS

适用于全新 Ubuntu 或 Debian VPS 的复制粘贴清单:SSH 密钥、非 root 用户、防火墙、fail2ban、自动更新和基础监控。

带有公网 IP 地址的新 VPS,在几分钟内就会开始收到自动化的登录尝试。这些都不是针对个人的;机器人只是扫描每一个地址。几个基本步骤就能阻止几乎所有这类攻击。本清单假设你使用全新的 Ubuntu 24.04 或 Debian 12/13 服务器,大约需要十五分钟。

VPS 上的终端窗口,显示保护新 VPS 所用的命令,以“apt update && apt full-upgrade -y”开头
本指南中你将在服务器上运行的那类命令。

1. 首先更新所有内容

apt update && apt full-upgrade -y
reboot

重启后重新登录。始终从完全打好补丁的系统开始。

2. 创建非 root 用户

始终以 root 身份工作会让每一个输入错误都变得危险。创建一个具有 sudo 权限的普通用户:

adduser deploy
usermod -aG sudo deploy

3. 设置 SSH 密钥

在你自己的计算机上,如果还没有密钥对,就创建一个,并把公钥部分复制到服务器:

ssh-keygen -t ed25519 -C "my-vps"
ssh-copy-id deploy@YOUR_SERVER_IP

打开第二个终端,确认你可以使用密钥以 deploy 身份登录,然后再继续。在确认之前,不要关闭你原来的会话。

4. 关闭密码登录和 root 登录

编辑 SSH 守护进程配置:

sudo nano /etc/ssh/sshd_config.d/99-hardening.conf

在文件中写入以下几行:

PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3

检查语法并重新加载:

sudo sshd -t && sudo systemctl reload ssh

5. 启用防火墙

UFW 是最简单的选择。先允许 SSH,再开启防火墙:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp   # only if you run a web server
sudo ufw enable
sudo ufw status verbose

只为你实际运行的服务开放端口。其他一切默认保持关闭。

本指南的步骤依次为:1. 1. 先更新所有内容;2. 3. 设置 SSH 密钥;3. 5. 启用防火墙;4. 6. 添加 fail2ban;5. 8. 检查正在监听的内容;6. 接下来做什么
本指南的步骤,按顺序排列。

6. 添加 fail2ban

Fail2ban 监视日志,并临时封禁那些持续登录失败的地址。

sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

默认设置对 SSH 来说是合理的。由于你已经禁用了密码,这主要是减少日志噪音和浪费的 CPU。

7. 开启自动安全更新

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

这会自动安装安全补丁。偶尔重启以应用内核更新,或者让该工具在安静的时段自行重启。

8. 检查正在监听的内容

sudo ss -tulpn

任何你没有预料到的、监听在 0.0.0.0 上的内容都值得调查。仅供本地使用的服务(数据库、缓存、管理面板)应监听在 127.0.0.1 上。

9. 基本监控与备份

  • 查看日志:不时运行 journalctl -u ssh --since today。
  • 检查资源:使用 htop 和 df -h,以免磁盘占满或失控的进程让你措手不及。
  • 进行备份。在重大更改前为服务器创建快照,并为任何无法重建的内容保留一份服务器之外的副本。

接下来做什么

你现在拥有一台比默认状态难攻破得多的服务器。从这里开始,请保持软件更新,让每个服务以各自独立的非特权用户运行,并且只暴露你需要的部分。如果你想要一条通往服务器的私有隧道,我们的指南设置 WireGuard是不错的下一步。

常见问题

新 VPS 上首先应该做什么?

更新软件包、创建非 root 用户、改用 SSH 密钥、禁用密码登录并启用防火墙。

应该更改 SSH 端口吗?

这能减少日志噪音,但不是真正的安全措施。密钥和防火墙要重要得多。