VPS到手后第一件事:我的10分钟初始化清单

前段时间写了一篇怎么挑 VPS 的文章,不少…

前段时间写了一篇怎么挑 VPS 的文章,不少朋友留言问我:「大叔,机器到手之后第一步该干啥?」

大家好,我是IT大叔。今天聊一件最朴素的事:一台全新的 Ubuntu VPS 到手后,我用哪几个命令把它变成一台「能打仗的机器」。

1. 更新系统

老生常谈,但这是最重要的第一步,没有之一。

如果你拿到的是商家预装的系统镜像,很可能已经离最新版本差了几个月。遗漏的安全补丁是最大的隐患——去年有一个朋友买的 VPS,到手后直接装了个面板就开始跑业务,三个月后被扫到内核漏洞,整个机器被入侵,数据全丢了。

SSH 登进去后先跑这两条:

apt update && apt upgrade -y
apt autoremove -y

apt upgrade 会自动更新所有已安装的软件包。完成后重启一下确认系统能正常启动——至少确保你拿到的这台机器本身是没问题的。

2. 修改 SSH 配置(防爆破)

默认的 SSH 配置是黑客最喜欢的——22 端口、root 可登录、密码登录。不改的话,机器上线后 24 小时内就会被扫到。

编辑 /etc/ssh/sshd_config,改以下三项:

# 改端口(随便换一个不常用的,比如 2222)
Port 2222

# 禁止 root 直接登录
PermitRootLogin no

# 只允许密钥登录,禁止密码
PasswordAuthentication no

改之前先确认你的 SSH 公钥已经加到 ~/.ssh/authorized_keys 里了——否则改完 PasswordAuthentication no 后自己会被关在外面。

改完后重启 SSH 服务:systemctl restart sshd。新开一个终端窗口测试连接正常再关旧的——这是常识,但我见过太多人改完没测就直接断了。

3. 防火墙:先拒绝所有入站,再按需放行

新建一台 VPS,它的默认状态是「大门敞开」——所有端口都对公网开放。很多商家的默认镜像甚至没有启用防火墙。

ufw 最简单(Ubuntu 自带):

# 先设默认策略:拒绝所有入站
ufw default deny incoming

# 放行你刚改的 SSH 端口
ufw allow 2222/tcp

# 启用防火墙
ufw enable

注意 ufw enable 执行后你的 SSH 连接不会断,因为放行了对应的端口。如果要开 Web 服务再加 ufw allow 80/tcpufw allow 443/tcp

典型翻车场景:有人先开了 Docker 再开 ufw,发现 Docker 的端口没被 ufw 管住——因为 Docker 的 iptables 规则优先级高于 ufw。解决方案:在 /etc/ufw/after.rules 里加 Docker 网段的规则,或者在 /etc/docker/daemon.json 里设置 "iptables": false

4. 设置 Fail2Ban 防暴力破解

即使你禁了密码登录,Fail2Ban 依然值得装——它不止保护 SSH,还能保护 Web 服务、邮件服务等。

apt install fail2ban -y
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

默认配置已经保护 SSH。如果你想自定义封禁时长,编辑 /etc/fail2ban/jail.local

[DEFAULT]
# 封禁 24 小时
bantime = 86400
# 5 次失败后封
maxretry = 5
findtime = 600

装完后 systemctl enable fail2ban && systemctl start fail2ban。可以用 fail2ban-client status sshd 查看当前封禁情况。

5. 安装 Docker(现代服务器标配)

90% 的服务现在都可以用 Docker 跑——Nginx、数据库、监控、AI 推理引擎。装 Docker 比一个个手动装依赖靠谱多了。

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

装完把当前用户加入 docker 组:usermod -aG docker $USER。重新登录后就不用每条命令都加 sudo 了。

可选但推荐:装 Docker Compose 插件:apt install docker-compose-plugin -y。现在 docker compose 已经是 Docker 官方内置的子命令了,不需要单独装二进制文件。

6. 时区和 Swap(容易被忘的基础配置)

VPS 默认时区通常是 UTC,日志时间跟我们对不上,排查问题时很痛苦。

timedatectl set-timezone Asia/Shanghai

1GB 以下的小鸡建议开 Swap 防止内存不足时 OOM 杀进程:

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

Swap 的大小一般设为内存的 1-2 倍。1GB 内存的小鸡开 2GB Swap 比较合理。

7. 装个监控,心里踏实

推荐装两个轻量级工具,对资源占用几乎可以忽略:

netdata:实时监控 CPU、内存、磁盘、网络,浏览器打开就能看仪表盘。安装:bash <(curl -Ss https://my-netdata.io/kickstart.sh)

Uptime Kuma(Docker 版):用来监控你部署的服务是否在线。如果宕机了它会通过 Telegram/邮件/微信等方式通知你。安装:docker run -d --name uptime-kuma -p 3001:3001 louislam/uptime-kuma

Uptime Kuma 的具体用法我在这篇里有详细写:10美元/年的VPS还能做什么?2026年VPS玩法完全盘点,里面还包括 Alist、Miniflux 等一堆好玩的服务。

8. 备份脚本(最后一步,也是最重要的一步)

写个简单的脚本定期备份关键数据到其他机器或对象存储:

#!/bin/bash
# 每天凌晨 3 点执行
tar -czf /backup/etc-$(date +%Y%m%d).tar.gz /etc
# 如果装了 Docker,备份所有卷
docker run --rm -v some_volume:/source -v /backup:/dest alpine tar czf /dest/volume-$(date +%Y%m%d).tar.gz -C /source .
# 删除 7 天前的备份
find /backup -name "*.tar.gz" -mtime +7 -delete

放到 cron 里每天执行:0 3 * * * /root/backup.sh。数据量不大的话还可以 rsync 到另一台 VPS 做异地备份。

大叔总结:10 分钟初始化清单

拿一台新 VPS 后按这个顺序跑一遍,10 分钟搞定:

  1. 更新系统 → apt update && apt upgrade
  2. 加固 SSH → 改端口 + 禁 root + 密钥登录
  3. 开防火墙 → ufw default deny incoming
  4. 装 Fail2Ban → 防暴力破解
  5. 装 Docker → 现代服务器的基石
  6. 设时区 + Swap → Ubuntu 默认的坑先填上
  7. 装监控 → 出了问题能第一时间知道
  8. 配备份 → 数据丢了啥都白搭

VPS 到手后的初始化只是第一步。如果你想了解不同价位 VPS 的横向对比,可以看看 2026上半年性价比VPS横向实测

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注