1
更新系统
首次登录后,立即更新所有软件包到最新版本,修复已知安全漏洞。
# Ubuntu / Debian
apt update && apt upgrade -y
# AlmaLinux / Rocky Linux
dnf upgrade -y2
创建普通用户
避免直接使用 root 账户日常操作,创建一个有 sudo 权限的普通用户。
# 创建用户并加入 sudo 组
adduser myuser
usermod -aG sudo myuser # Ubuntu/Debian
# 或
usermod -aG wheel myuser # AlmaLinux/Rocky3
配置 SSH 密钥认证
在本地生成 SSH 密钥对,将公钥上传到服务器,实现免密登录。
# 在本地执行
ssh-keygen -t ed25519
ssh-copy-id -i ~/.ssh/id_ed25519.pub myuser@服务器IP4
禁用 root 远程登录和密码认证
密钥配置成功后,禁用 root 直接登录和密码认证,从根本上防止暴力破解。
# 编辑 SSH 配置
sudo nano /etc/ssh/sshd_config
# 修改以下配置项:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
# 重启 SSH 服务
sudo systemctl restart sshd5
修改 SSH 端口
将默认的 22 端口改为一个非标准端口(如 2222 或其他),减少自动扫描攻击。
# 在 /etc/ssh/sshd_config 中修改:
Port 2222
# 重启 SSH 并更新防火墙规则
sudo systemctl restart sshd6
配置防火墙
只开放必要端口,阻止所有其他入站流量。
# UFW (Ubuntu/Debian 推荐)
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp # SSH(你修改后的端口)
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
# firewalld (AlmaLinux/Rocky)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload7
安装 Fail2Ban
自动封禁多次登录失败的 IP 地址,防止 SSH 暴力破解。
sudo apt install fail2ban -y # Ubuntu/Debian
sudo dnf install fail2ban -y # AlmaLinux/Rocky
# 启动并设置开机自启
sudo systemctl enable --now fail2ban8
设置时区和时间同步
正确的系统时间对日志分析、SSL 证书和定时任务至关重要。
# 设置时区(示例:亚洲/上海)
sudo timedatectl set-timezone Asia/Shanghai
# 确认 NTP 同步已启用
timedatectl status
# 应显示 NTP synchronized: yes9
启用自动安全更新
让系统自动安装安全补丁,减少人工维护负担。
# Ubuntu/Debian
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades
# AlmaLinux/Rocky
sudo dnf install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timer10
创建初始快照 / 备份
以上步骤全部完成后,创建一个系统快照作为"干净基线"。未来出问题可以快速恢复。
# 通过 VPS 厂商控制面板创建快照
# Vultr:Snapshots → Add Snapshot
# DigitalOcean:Backups → Create Snapshot
# 或使用命令行备份关键配置:
sudo tar czf /root/config-backup.tar.gz /etc/ssh /etc/ufw✅ 完成以上步骤后,你的 VPS 已具备基本的安全防护。接下来可以开始部署你的应用、网站或其他服务了。建议定期检查系统日志(/var/log/auth.log)和 Fail2Ban 状态。