新购 VPS 服务器必做的十二项初始配置(Ubuntu 版)

📅 2026年05月19日 · 技术

写在前面

当你从云服务商那里购入一台崭新的 VPS 后,第一件事绝对不是直接部署业务代码,而是做好基础安全加固和环境配置。很多新手站长因为忽略了这些初始步骤,导致服务器被入侵、磁盘被日志撑满、SSH 被暴力破解等事故屡见不鲜。

本文以 Ubuntu 22.04/24.04 LTS 为例,系统梳理一台新 VPS 到手后必须要完成的十二项配置。无论你是个人站长还是运维新手,照着做一遍,你的服务器基础安全性和可用性就能提升一个台阶。

💡 说明:本文部分配置项标注了"按需安装",意味着这些步骤并非每台服务器都必须,请根据实际需求灵活选择。

一、更新系统软件包

拿到新服务器后的第一件事,就是将系统软件包更新到最新版本,修复已知安全漏洞。推荐分两步执行,而非一次性 apt upgrade -y(后者在带宽有限的情况下可能耗时过长且难以排查错误):

sudo apt update
sudo apt upgrade --only-upgrade

其中 apt update 更新软件包索引列表,apt upgrade --only-upgrade 仅安装已安装包的可用更新,不安装新的依赖包。如果你希望更彻底,也可以运行完整的升级命令(但耗时会更长):

sudo apt update && sudo apt full-upgrade -y

二、安装常用工具

2.1 配置 VIM 编辑器

Ubuntu 默认预装 nano,但很多运维老手更习惯使用 vim。检查是否已安装:

vim --version

如果未安装,执行:

sudo apt install vim -y

将 VIM 设置为系统默认编辑器:

sudo update-alternatives --config editor

在弹出的列表中选择 vim 对应的序号即可。

2.2 command-not-found(可选)

一些云服务商提供的是精简版 Ubuntu 镜像,缺少 command-not-found 工具。安装后,当你输入一个未安装的命令时,系统会智能提示对应的软件包名称:

sudo apt install command-not-found -y
📌 提示:其他建议安装的常用工具包括 curl、wget、git、htop、net-tools、unzip 等,可按需一次性安装。

三、添加普通用户并配置 sudo

root 用户权限过大,日常操作应使用普通用户。创建一个名为 ubuntu(或其他你喜欢的名字)的普通用户:

adduser ubuntu

根据提示设置密码和用户信息。然后为该用户赋予免密码 sudo 权限:

visudo

User Privilege Specification 区域添加一行:

ubuntu ALL=(ALL) NOPASSWD: ALL

验证配置是否生效:

su - ubuntu
sudo ls /root
exit

如果能够列出 /root 目录内容且无需输入密码,说明 sudo 配置成功。

四、配置防火墙(UFW)

使用 Ubuntu 内置的 UFW(Uncomplicated Firewall)快速配置防火墙规则。首先安装(如已预装可跳过):

sudo apt install ufw -y

开放常用端口——SSH(22)、HTTP(80)、HTTPS(443):

sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443

启用防火墙:

sudo ufw enable

查看当前规则确认生效:

sudo ufw status verbose
⚠️ 重要:如果后续修改了 SSH 端口,请务必先放行新端口再关闭旧端口,否则你可能把自己锁在服务器外面!

五、SSH 安全加固

5.1 配置密钥登录

先在本地电脑(Windows/Mac/Linux)上生成 SSH 密钥对:

ssh-keygen -t rsa -f ~/.ssh/id_rsa_myvps

将公钥内容传到服务器的普通用户目录下:

mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

将本地 id_rsa_myvps.pub 的内容追加到 ~/.ssh/authorized_keys 中。

5.2 修改 SSH 配置文件

编辑 SSH 服务端配置文件:

sudo vim /etc/ssh/sshd_config

建议修改以下三项配置:

重启 SSH 服务使配置生效:

sudo systemctl restart sshd.service

务必在另一个 SSH 会话中测试新端口和密钥登录,确认无误后再关闭原会话。

六、配置时区与时间同步

确保服务器时间准确,对日志分析和定时任务至关重要。查看当前时区:

timedatectl

设置为中国时区(根据需要调整):

sudo timedatectl set-timezone Asia/Shanghai

启用 NTP 时间同步:

sudo timedatectl set-ntp yes

七、配置 Swap 交换分区

低配 VPS(1GB 内存以下)建议配置 Swap,防止内存不足时 OOM 杀进程。创建一个 1GB 的 Swap 文件:

sudo swapoff -a                          # 删除已有 Swap(如果有)
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

设置开机自动挂载,编辑 /etc/fstab,在末尾添加:

/swapfile swap swap defaults 0 0

八、Docker 安装与日志管理

8.1 安装 Docker

使用官方一键脚本快速安装:

curl -fsSL https://get.docker.com | sudo sh

或将当前用户加入 docker 组,免 sudo 执行:

sudo gpasswd -a ubuntu docker

8.2 Docker 日志大小限制

Docker 默认不限制日志大小,运行一段时间后日志文件可能撑爆磁盘。创建或修改 /etc/docker/daemon.json

{
  "log-driver": "json-file",
  "log-opts": {
    "max-file": "3",
    "max-size": "10m"
  }
}

重启 Docker 服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

注意:该配置仅对新创建的容器生效,已有容器需要重建才能应用新日志策略。

九、logrotate 日志轮转

即使限制了 Docker 日志,系统本身的日志(如 /var/log/syslog/var/log/auth.log 等)同样需要管理。安装 logrotate 和 cron:

sudo apt install logrotate cron -y

/etc/logrotate.d/ 下创建自定义配置,例如 /etc/logrotate.d/custom

/var/log/syslog
/var/log/mail.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/cron.log
{
    weekly
    rotate 3
    maxsize 100M
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
        /usr/lib/rsyslog/rsyslog-rotate
    endscript
}

该配置表示:每周轮转一次,保留最近 3 份归档,单个日志超过 100MB 也会触发轮转,归档文件进行 gzip 压缩。

十、Fail2ban 暴力破解防护

Fail2ban 能够监控系统日志,在检测到多次失败的登录尝试后自动封禁源 IP,是抵御 SSH 暴力破解的首选工具。

sudo apt install fail2ban -y

安装后默认配置即可工作,但建议自定义配置。创建 /etc/fail2ban/jail.local

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600

启动并启用服务:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban
✅ 建议:如果你修改了 SSH 端口,记得在 jail.local 中将 port 改为对应的端口号。

十一、面板安装(可选)

如果你偏好图形化管理,推荐安装 1Panel —— 一款开源的 Linux 运维管理面板,功能涵盖网站管理、数据库、容器、文件管理等。

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh
sudo bash quick_start.sh

安装完成后根据提示访问面板地址进行初始化配置。1Panel 会自动配置 Nginx、MySQL 等常用服务,非常适合新手站长。

十二、自动安全更新

最后一道防线:配置系统自动安装安全更新,确保即使你忘记手动更新,服务器也能及时修复已知安全漏洞。

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

在配置向导中选择"是"以启用自动更新。你也可以手动编辑 /etc/apt/apt.conf.d/50unattended-upgrades 来精细控制哪些包可以自动更新。

总结

以上十二项配置覆盖了新购 VPS 从基础安全到日常运维的核心环节。归纳一下必做项与可选建议:

养成"拿到新服务器先做基础配置"的好习惯,能在很大程度上避免日后踩坑。如果你有更多经验或更好的配置方法,欢迎交流讨论。

参考来源

🔧 在线开发者工具 — JSON格式化 · Base64 · UUID生成 · 正则测试 等80+免费工具