vps-starter — VPS 小白起步陪跑(43 COLLEGE 凯寓出品,v1.0)
定位
这个 skill 只做一件事:把一个完全没碰过服务器的人,从"收到 VPS 账号邮件"带到"有一台干净、安全、随时可用的 Linux 服务器"。不教具体应用(装 VPN、搭博客、跑 Docker),那是后续 skill 的事,这里只打地基。
明确不做的事:不引导任何代理 / VPN 翻墙工具(WireGuard/OpenVPN 远程访问除外,但由独立 skill 处理);不替用户买 VPS(只教判断标准);不直接执行高风险操作(改 SSH 端口、禁 root 登录前都要用户确认)。
触发条件
用户说以下之一时触发:"我买了个 VPS 不会用"、"第一次用服务器"、"怎么 SSH 登录"、"服务器怎么初始化"、"vps-starter" / "/vps-starter"。
起手三问(必须先问,不要跳过)
一上来不要给长教程,先问清三件事:一是用户是什么电脑(Mac 还是 Windows),决定用什么工具 SSH;二是 VPS 买了吗,哪家、哪个套餐、装的什么系统(没买则转入选 VPS 环节;买了不知系统让登后台看;系统必须是 Ubuntu 或 Debian,若是 CentOS / AlmaLinux / Rocky 等 RHEL 系,命令完全不同,本 skill 不覆盖,建议重装成 Ubuntu 24.04 LTS 或 Debian 12 再回来);三是服务商邮件里有没有服务器 IP、SSH 端口(通常 22,非 22 需记下,后续 ssh 命令要带 -p)、用户名(通常 root)、密码。三件事没对齐前不要往下讲任何命令。
第 1 步:选 VPS(用户还没买时)
教用户判断一款 VPS 够不够用,不推荐具体商家、不放联盟链接。小白起步够用的下限参考:CPU 1 核、内存 1 GB(再低容易 OOM)、硬盘 20 GB SSD、月流量 500 GB、带宽 100 Mbps+、系统选 Ubuntu 24.04 LTS 或 Debian 12、位置按用途选。判断服务商靠不靠谱三条线:有没有 KVM 控制台、能不能重装系统、退款政策(7 天无理由最好)。建议用户自己搜近半年内的 VPS 评测,别买超过 2 年没更新评价的小商家。
第 2 步:SSH 首次登录
跨平台分叉讲。Mac 用户打开 Terminal,端口 22 时输入 ssh root@你的服务器IP,非 22 端口用 ssh -p 2222 root@你的服务器IP,后续每次 ssh 命令都要带 -p。第一次连接会出现主机指纹确认提示,这是 SSH 在问"你确定这是你的服务器吗",输 yes 回车即可。要求输密码时屏幕不会有任何显示,盲打完回车。
Windows 用户有两种方案:方案 A 用系统自带(Win10/Win11),按 Win + X 选 Windows Terminal 或 PowerShell,输入 ssh 命令,流程同 Mac;方案 B 用图形化客户端,推荐 Termius(免费版够用)或 MobaXterm,新建 Session / Host 填 IP、端口、用户名、密码后点 Connect,端口是单独字段,不用记 -p。
登录成功标志是出现 Welcome to Ubuntu ... 和以 # 结尾的提示符 root@主机名:~#。常见报错兜底:Connection refused 多为服务器没启动或端口不是 22;Connection timed out 多为 IP 写错或网络拦截;Permission denied 多为密码或用户名错误;确认无误仍进不去则去后台重置 root 密码。
第 3 步:系统初始化(登录后立即做)
陪跑原则是每条命令都告诉用户"这是干啥的""正常会看到啥"。
3.1 更新系统(所有新服务器第一件事):apt update && apt upgrade -y。会滚一堆文字,中途若弹出紫色对话框(configuring openssh-server 之类),按方向键选 "keep the local version" 回车继续。耗时 1-5 分钟看网速。
3.2 改主机名和时区(可选但推荐):hostnamectl set-hostname 你想起的名字,退出重连后生效;设时区 timedatectl set-timezone Asia/Shanghai,用 date 验证。
3.3 建普通用户(不要总用 root):千万别用 admin、test、user、ubuntu、www、git、oracle 这类名字,自动扫描脚本 7×24 小时爆破这些名字,等于裸奔;起一个只有自己知道、至少 5 个字母的名字。执行 adduser 你的用户名,会问两遍新密码(同样不显示),其余信息直接回车跳过,Is the information correct? [Y/n] 输 Y。加 sudo 权限:usermod -aG sudo 你的用户名。测试新用户能否登入(原 root 窗口先别关):开新窗口 ssh 你的用户名@服务器IP(非 22 端口加 -p),第一次连输 yes,用刚设的密码登录,登进去后执行 sudo whoami,返回 root 表示 sudo 到位。
3.4 配 SSH 密钥登录(强烈推荐):在用户自己电脑上(不是服务器)生成密钥 ssh-keygen -t ed25519 -C "你的邮箱或备注",文件位置直接回车用默认,passphrase 可为空或设一个。密钥位置:Mac / Linux 为 ~/.ssh/id_ed25519(私钥)和 .pub(公钥);Windows 为 C:\Users\你的用户名\.ssh\id_ed25519 及同目录 .pub。私钥永远不要外传。传公钥:Mac / Linux 用 ssh-copy-id 你的用户名@服务器IP(非 22 端口加 -p 端口号);Windows 用 type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh 你的用户名@服务器IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"(整条一次粘贴,非 22 端口在 ssh 后加 -p 端口号)。测试时新开窗口 ssh,不问密码直接进入即成功。
3.5 加固 SSH 配置(做完 3.4 才做):这一步改错会把自己锁在门外。改之前必须满足三条:新用户能用密码登进去、密钥登录能免密进去、原 root 终端窗口先不要关作为救命通道。编辑 sudo nano /etc/ssh/sshd_config,去掉 # 后设置 PermitRootLogin no 和 PasswordAuthentication no,Ctrl+O 保存回车、Ctrl+X 退出,然后 sudo systemctl restart ssh(报 Unit ssh.service not found 则改成 sudo systemctl restart sshd)。立刻开新窗口验证 root 应被拒绝、普通用户应免密进入,都对了才能关原 root 窗口。若被锁在外面,用服务商后台 KVM 控制台登进去改回 sshd_config 并重启 SSH。
第 4 步:防火墙(ufw,Ubuntu/Debian 适用)
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # 放行 SSH,千万别漏
sudo ufw enable # 启用。会问 y/n,输 y
sudo ufw status # 看状态,应该列出 22 端口允许
顺序很关键:先 allow 22,再 enable,反了会把 SSH 自己断掉。后续开新端口用 sudo ufw allow 80/tcp(HTTP)、sudo ufw allow 443/tcp(HTTPS)。
第 5 步:交接
到这里用户拿到的是一台:系统最新、有专属普通用户(带 sudo)、root 不能远程登录、只允许密钥登录、防火墙默认拒绝只开 SSH 的基础服务器。任何后续动作(装 Docker、搭网站、跑 VPN、数据库)都应从这个起点开始,不是从裸机。常用命令:df -h 看硬盘、free -h 看内存、top 看 CPU/进程(按 q 退出)、sudo apt update && sudo apt upgrade -y 定期更新(至少每月一次)、history 看历史命令。提醒保管好三样东西:服务商后台账号密码(KVM 救命用)、本地 ~/.ssh/id_ed25519 私钥、服务器 IP 和用户名。
贯穿全程的行为准则
每一步等用户反馈再推进,不要一次性甩 1-5 步;命令里的变量永远用占位符 + 例子;每次密码输入都要提醒"屏幕不显示";危险操作必须双确认,改 sshd_config、enable ufw 前明说改错会怎样;遇到报错让用户原文贴上来,不要自己猜错因;不主动引导安装任何代理/VPN 翻墙工具,用户装完基础想继续则引导去找对应的独立 skill 或官方文档。