1322 字
7 分钟

VPS 选购与基础配置:从选机到 SSH 安全加固

独立站需要一台 VPS。这篇覆盖从选机到首次登录再到基础安全加固的完整流程,只写实际用过的服务商和配置。


主流服务商对比#

服务商优势适合场景最低月费
GreenGeeks老牌美国主机商,SSD 存储,含免费域名与 SSL个人项目、轻量 Web 服务USD 2.95
Vultr机房覆盖广,日本/新加坡节点延迟低面向亚洲用户的站点USD 2.5
DigitalOcean文档完善,控制台友好初学者、需要 Managed DBUSD 4
搬瓦工(BandwagonHost)CN2 GIA 线路,国内访问速度快国内用户为主的站点USD 49.99/年

选择建议:

  • 目标用户在国内 → 搬瓦工 CN2 GIA 或 Vultr Tokyo/Singapore
  • 目标用户在海外 → GreenGeeks(含免费域名,适合入门)
  • 需要部署 MCP Server 供个人使用 → GreenGeeks ProVultr 1核2G
Note

以上价格随时可能变动,以服务商官网当前标价为准。


核心参数选择#

操作系统:选 Ubuntu 22.04 LTS。LTS 版本支持周期长,社区资料最多,本文后续命令均基于此系统。

机房地区:用 ping.pe 测试目标服务商各机房到国内的延迟,选延迟最低的节点。

配置:个人博客/文档站从最低配置起步(1核1G),跑 Node.js 服务选 1核2G 以上。存储选 SSD,不选 HDD。

IP 类型:必须是独立公网 IP,不能是共享 NAT 型。下单前确认规格页写的是”dedicated IP”。


首次 SSH 登录#

服务商创建完实例后,控制台会给出 IP 地址和初始 root 密码(或让你上传公钥)。

Terminal window
# 用 root 登录
ssh root@your-server-ip
# 第一次连接会提示 "Are you sure you want to continue connecting?",输入 yes
# 确认系统信息
lsb_release -a
# 确认公网 IP(应与控制台一致)
curl -s https://api.ipify.org

登录成功后立刻做安全加固,不要直接在 root + 密码登录的状态下开始部署服务。


基础安全加固#

1. 创建普通用户,禁止直接使用 root#

Terminal window
# 创建新用户(替换 yourname)
adduser yourname
# 加入 sudo 组
usermod -aG sudo yourname
# 切换到新用户测试
su - yourname
sudo whoami
# 输出 root 说明 sudo 权限正常

2. 配置 SSH 公钥登录#

本机生成密钥对(如果还没有):

Terminal window
# 本机执行
ssh-keygen -t ed25519 -C "your-email@example.com"
# 默认存在 ~/.ssh/id_ed25519 和 ~/.ssh/id_ed25519.pub

把公钥上传到服务器:

Terminal window
# 本机执行,替换用户名和 IP
ssh-copy-id yourname@your-server-ip
# 输入一次密码后,后续 SSH 登录不再需要密码

验证公钥登录可用:

Terminal window
ssh yourname@your-server-ip
# 不需要输入密码即可登录,说明配置成功

3. 禁用 root 远程登录和密码认证#

确认公钥登录正常后再做这步,否则可能把自己锁在外面。

Terminal window
# 在服务器上编辑 SSH 配置
sudo nano /etc/ssh/sshd_config

找到以下行,确认或修改为:

PermitRootLogin no
PasswordAuthentication no
Terminal window
# 重启 SSH 服务使配置生效
sudo systemctl restart sshd
# 不要关闭当前会话,新开一个终端窗口测试能否正常登录
# 确认新窗口能登录后再关闭当前会话

4. 修改 SSH 默认端口(可选)#

默认 22 端口会被大量自动扫描工具探测。改端口能减少无效的暴力破解请求。

Terminal window
sudo nano /etc/ssh/sshd_config
# 找到 Port 22,改为其他端口,如 Port 2222
sudo systemctl restart sshd

之后登录需要指定端口:

Terminal window
ssh -p 2222 yourname@your-server-ip

5. 配置 ufw 防火墙#

Terminal window
# 安装 ufw(Ubuntu 通常预装)
sudo apt install -y ufw
# 设置默认策略:拒绝所有入站,允许所有出站
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 放行 SSH 端口(如果改了端口,替换 22)
sudo ufw allow 22/tcp
# 放行 HTTP 和 HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 启用防火墙
sudo ufw enable
# 输入 y 确认
# 查看当前规则
sudo ufw status verbose

验证清单#

Terminal window
# 检查开放端口
sudo ss -tlnp
# 检查 ufw 状态
sudo ufw status
# 检查 SSH 配置
sudo sshd -T | grep -E "permitrootlogin|passwordauthentication|port"

常见问题#

SSH 连接超时,连不上服务器怎么办?#

先在服务商控制台检查:① 防火墙/安全组规则是否放行了 22(或你修改后的 SSH 端口);② 实例状态是否为”运行中”。部分服务商(如 Vultr)有独立的防火墙规则页面,和 ufw 是两层控制,两处都要放行。

忘记修改 SSH 端口后的端口号怎么办?#

通过服务商控制台的 VNC/Console 功能直接登录服务器(不走 SSH),执行 sudo sshd -T | grep port 查看当前端口。

ufw enable 后被锁在外面怎么办?#

通过服务商控制台的 VNC/Console 登录,执行 sudo ufw disable 关闭防火墙,重新检查规则后再启用。这是最常见的操作失误,建议 ufw enable 之前用 ufw status 确认规则,确保 SSH 端口已在放行列表里。

VPS 需要备案吗?#

境外主机(GreenGeeksVultrDigitalOcean 等)不需要 ICP 备案。但使用境外服务器的网站无法接入国内 CDN,国内访问速度受跨境线路影响。如果需要在国内备案,必须使用境内 VPS,参考 阿里云 ICP 备案全流程

本文最后更新于 2026-04,测试系统:Ubuntu 22.04 LTS。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
VPS 选购与基础配置:从选机到 SSH 安全加固
https://www.yuntier.com/posts/site-ops/vps-guide/
作者
瓦叔
发布于
2026-04-09
许可协议
CC BY-NC-SA 4.0

评论区

评论已按需延迟加载

滚动到评论区附近或点击按钮后,再加载 Waline 脚本与请求。

评论尚未加载
Profile Image of the Author
瓦叔
准奶爸 / 10年后端+5年运维 / 建站防坑老司机
欢迎
建站笔记持续更新中,实测验证,防坑为主。欢迎收藏!
分类
标签
站点统计
文章
36
分类
4
标签
152
总字数
66,278
运行时长
0
最后活动
0 天前

目录