VPS 买回来第一天该干什么?我的开机必做清单

作者:小墨同学boy日期:2026/4/16

很多人买来第一台VPS可能不知道干什么,是到手之后直接装宝塔,然后部署一个WordPress 博客丢上去跑了两天。可能过几天你就会发现 auth.log 里全是暴力破解记录,SSH 端口没有改还是默认的 22,root 密码没有做修改还是简单的 8 数字。最离谱的是你没有一开始测试号,最后发现那台机器的网络在晚高峰根本不能用,到最后可以部署完了才发现的,前面装的东西全白费功夫。

所以我才要写这篇文章,介绍我的流程:新机器到手,不要一上来就按照服务,先按照我的固定流程把去设置一遍服务器。整个过程其实没消耗多少时间,但确保了不会出现什么都安装好了,然后没法用的乌龙。


SSH 加固

其实你机器从开机那一刻开始,服务器的22 端口就已经在被全网扫描了。如果你不信你可以在命令行下,跑 grep "Failed password" /var/log/auth.log,新开的机器开机不到半天,这个文件就能刷出一屏暴力破解日志。但是你也别多想,其实没有人盯着你,只是所有公网 IP 无时无刻都有人在扫。如果你要是弱密码 + 默认端口,被人撞库进入你的服务器只是时间问题。

我现在的习惯是:拿到机器第一件事不是马上开始装东西,而是把 SSH 的端口和登入方式先修改。

改 SSH 端口

1nano /etc/ssh/sshd_config
2

找到 #Port 22,去掉注释,改成你自己的端口,比如 Port 5922

iShot_2026-04-16_22.58.42.webp

禁用密码登录,改用密钥

还是在 sshd_config 里,确认这几行:

1PubkeyAuthentication yes
2PasswordAuthentication no
3PermitRootLogin prohibit-password
4

iShot_2026-04-16_22.59.44.webp

改完之后重启 SSH:

1systemctl restart sshd
2

注意:改完不要马上关掉当前连接。可以先开一个新窗口用新端口和密钥连一次,确认能登进去再关闭旧窗口。不然关早了、密钥没配对成功,你就只能去商家后台用 VNC 救回来了。

怎么确认改好了:新窗口用新端口 + 密钥能登进去,旧端口和密码都连不上,就对了。

延伸阅读:如果你想要更完整的加固流程(包括 fail2ban、防火墙规则、禁用 root),可以看这篇:别再让VPS裸奔!保姆级Linux安全加固教程,彻底告别SSH暴力破解


系统更新和基础工具

SSH 修改好之后,也先别急着装面板。我以前就是这步跳太快,后面装软件的时候老是缺东西,curl 没有、htop 没有、系统时间还有问题还差八个小时,查日志的时候就出问题了,时间都对不上。现在我学会先把系统底座弄好再开始干活。

更新系统

1apt update && apt upgrade -y
2

如果是 CentOS / AlmaLinux,换成 yum update -y

iShot_2026-04-16_23.02.04.webp

装常用工具

1apt install -y curl wget vim htop git unzip
2

这几个后面几乎都会用到。我之前有台机器连 wget 都没有,下个脚本还得先装工具,烦得很。

同步时间

1timedatectl set-timezone Asia/Shanghai
2

这步不是必须的,但看日志排查问题的时候,时间对不上会很烦。

要不要现在装 Docker?

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

如果你后面打算用 Docker 跑服务(面板、监控、博客、密码管理器),建议这步就装:

装完跑一下 docker --version,能出版本号就行。

iShot_2026-04-16_23.04.43.webp

如果你只是拿来建站、装宝塔,Docker 可以先不装。但我自己的习惯是,不管这台机器最后干什么,Docker 先装上。因为我后面跑哪吒监控、Vaultwarden、Umami 这些全是 Docker 起的,先装好后面随时能用,不装的话到时候还得回来折腾一遍环境。


网络和 IP:先验一遍再说

这步我吃过最大的亏。之前一台机器白天测速跑得挺好看,我直接开始部署,到晚上自己一连才发现延迟飙到 300ms,晚高峰根本没法用。问题出在我没测回程,白天的数据完全不能代表晚上。所以现在我的规矩是,系统装好之后、部署任何服务之前,先把网络验一遍。

测 IP 通不通

最快的办法:去 itdog.cn 在线 ping 你的 IP。

  • 全红(全球超时):机器可能没开好,或者 IP 本身有问题,先去商家后台检查
  • 海外绿、大陆红:大概率是 IP 被墙了,需要换 IP 或者走跳板
  • 全绿:正常,继续下一步

iShot_2026-04-16_23.06.19.webp

测回程线路

1mtr -rn 你的本地IP
2

ping 通了不代表能用,还得看回程。在机器上装 besttrace 或者用 MTR:

重点看晚高峰(20:00-23:00)的表现。白天测速好看没太大意义,网络稳定性还是要看晚高峰不抖动才是真的好。

测流媒体解锁(如果你在意)

1bash <(curl -L -s media.ispvps.com)
2

这步看你需求,如果只是建站、跑服务,不测也行。

延伸阅读:IP 状态排查的完整方法可以看:买完VPS不知道通不通?保姆级教程:教你如何正确测试IP状态


给自己留个底

按照我的流程跑完,你手里的VPS机器基本就没问题了。但是如果你还想和我一样完善可以跟着下面继续学。主要还是因为我手上机器很多,经常忘掉某台到底装了什么、什么时候到期、什么时候需要续费等问题。

安装监控探针

我自己每台机器都会装哪吒监控。CPU、内存、流量、在线状态全能看,哪台机器挂了直接有告警,不用一台台 SSH 上去查。你要是只有一两台机器,哪吒或者 MyNodeQuery 都行,选一个装上就好。

iShot_2026-04-16_23.17.24.webp

开快照或备份

有些商家支持自动快照(比如 Vultr、Lightsail),后台点两下就能开,几乎不花钱。没有自动快照的,至少把 /etc/ssh//etc/nginx/、docker compose 文件这些手动打个包存一份。

我前面有一台机器,配了大半天的环境,结果手滑把 nginx 配置删了,又没备份,重新配了一遍。从那以后我每台机器跑通了就先打一个快照,至少保证有个干净的还原点。

记下来这台机器的信息

找个地方把这些记下来:

  • 这台机器拿来干什么
  • IP 地址、SSH 端口、登录方式
  • 商家、套餐、到期时间、续费价格
  • 开机后装了什么

我自己是用 Obsidian 建了个表,每台机器一条记录。你用什么工具无所谓,哪怕开个备忘录也行,关键是别全靠脑子记。我前面就有一台 CloudCone 的年付机,到期自动续费涨了价我都不知道,就是因为没记。


我现在的顺序就是这样

锁 SSH、更新系统、验网络、留记录。半小时到一小时的事,但省掉的是后面翻回来补课的时间。

我现在每台新机器到手都按这个顺序走,不管是 10一年的小鸡还是10 一年的小鸡还是 10一年的小鸡还是50 一月的生产机。你第一台机器照着跑一遍,后面开新机直接复制流程就行。

这些步骤本身没什么难的,花半小时走一遍而已。但你要是跳过了,后面出问题的时候补回来花的时间远不止半小时。


VPS 买回来第一天该干什么?我的开机必做清单》 是转载文章,点击查看原文


相关推荐


# KubeBlocks for MSSQL 高可用实现
小猿姐2026/4/8

背景 Microsoft SQL Server(MSSQL)是由微软开发的一款关系型数据库管理系统。最初仅支持在 Windows 平台上运行,自 2017 版本起开始支持 Linux 系统,这一变化为 MSSQL 的容器化部署提供了可能。 MSSQL 提供了名为 Availability Group(可用性组,下文简称AG) 的多数据库复制管理特性,该特性支持在多个节点上实现数据库的多副本冗余,从而提升数据可靠性和服务连续性。在 Windows 平台上,MSSQL 通过与 Windows Ser


AI时代,我们的任务不应沉溺于与 AI 聊天 - 🤔 从“对话式编程”迈向“数字软件工厂”
阿文WUTAI感话2026/3/31

2026年,AI辅助开发的正确打开方式 在 2026 年的今天,研发工程师已经意识到,AI 辅助开发不应只是零散的提示词,而是一套 有标准、有性能、有角色、有流程 的系统工程 。通过 OpenSpec、Everything Claude Code (ECC)、gstack 以及新增的 superpowers 的深度协同,我们可以构建起一套现代化的"数字软件工厂",让研发协作工作流与状态流转更加符合项目的确定性需求 一、核心概念:先对齐术语,避免鸡同鸭讲 要驾驭这套工厂,首先需要对齐底层的专业概


家政服务小程序预约上门服务维修保洁上门服务在线派单技师入驻-ym7K
2601_952013762026/3/22

一、后台管理端核心功能 1. 系统基础配置 提供基础设置、店铺管理、家政管理三大核心配置入口,支撑系统整体运行。支持家政分类管理,可灵活划分保洁、月嫂、家电维修等服务类型。 2. 家政服务发布与管理 发布家政服务: 选择对应家政分类,填写服务标题。配置所在区域、家政公司名称、联系人及联系电话。设定家政性质:免费预约、预约金、实价三种模式可选。通过富文本编辑器编辑服务详情,支持图文排版。 管理家政:对已发布服务进行编辑、上下架等操作。管理订单:查看、处理用户预约订单,跟踪服务进度。服


Codex 工程化实践指南:深入理解 AGENTS.md、SKILL.md 与 MCP
Lei_official2026/3/14

AI 就像自动驾驶,其价值并非让没摸过方向盘的新手上路开车,而在于为熟练的驾驶者节约精力和时间。 在 Codex 的设计中,有三个非常关键的概念: AGENTS.md SKILL.md MCP(Model Context Protocol) 如果把 Codex 看成一个 “AI 工程师”,那么这三个概念相当于: 概念角色AGENTS.md团队开发规范SKILL.md可复用工作流MCP外部系统接口 注意这里的“团队开发规范”不是指人类工程师所组成


端侧RAG实战指南
稀有猿诉2026/3/6

本文译自「On-Device RAG for App Developers: Embeddings, Vector Search, and Beyond」,原文链接medium.com/google-deve…,由Sasha Denisov发布于2026年2月21日。 我们已经探讨了离线 AI 代理的重要性 和如何通过函数调用赋予它们工具。现在,让我们通过赋予它们记忆——即使用 RAG(检索增强生成)搜索和检索你的私有数据——来完善整个图景。 当我开始构建 Flutter Gemma 时,


Gemini 3.1 Pro 正式发布:一次低调更新,还是谷歌的关键反击?
IvanCodes2026/2/25

今天凌晨,谷歌发布了新一代模型——Gemini 3.1 Pro 没有大型发布会,没有提前预热,甚至连宣传节奏都显得克制。 很多人会把它看作 Gemini 3 的小版本升级,但从目前披露的测试数据和演示能力来看,这更像是一次结构性强化,而不是简单的参数迭代。 如果说 Gemini 3 是谷歌重新回到核心竞争区间的标志,那么 Gemini 3.1 Pro,则明显带着更强的实战优化意味。 它在几个关键方向上给出了非常明确的信号:谷歌不只是追赶者。 性能升级:从可用到强势竞争 这次升


React 性能优化:图片懒加载
NEXT062026/2/17

引言 在现代 Web 应用开发中,首屏加载速度(FCP)和最大内容绘制(LCP)是衡量用户体验的核心指标。随着富媒体内容的普及,图片资源往往占据了页面带宽的大部分。如果一次性加载页面上的所有图片,不仅会阻塞关键渲染路径,导致页面长时间处于“白屏”或不可交互状态,还会浪费用户的流量带宽。 图片懒加载(Lazy Loading)作为一种经典的性能优化策略,其核心思想是“按需加载”:即只有当图片出现在浏览器可视区域(Viewport)或即将进入可视区域时,才触发网络请求进行加载。这一策略能显著减少首屏


【Linux】进程信号(上半)
Lsir10110_2026/2/8

当我们想要强行终止掉前台进程的时候,只需要按下Ctrl+c即可,但是Ctrl+c是如何精准杀掉前台进程的? 一、信号概念 1.如何理解信号 假设点了一份外卖,外卖员到了楼下会给你发信息或者打电话,那么这通电话或者这个信息就是信号,也就是用来提醒你需要去做某事的一种通知手段。那么对照Linux系统,信号就是内核向进程发送的通知,提醒进程需要去完成某个任务。 2.信号的特点 对照外卖例子,当点完外卖,我们肯定不会一直在门口等着外卖员,而是先忙手中的事情,比如打游戏,那么这个过程就叫做异步


JSyncQueue——一个开箱即用的鸿蒙异步任务同步队列
江澎涌2026/1/31

零、JSyncQueue JSyncQueue 是一个开箱即用的鸿蒙异步任务同步队列。 项目地址:github.com/zincPower/J… 一、JSyncQueue 有什么作用 在鸿蒙应用开发中,有时需要让多个异步任务按顺序执行,例如状态的转换处理,如果不加控制,会因为执行顺序混乱而产生一些莫名其妙的问题。 所以 JSyncQueue 提供了一个简洁的解决方案: 保证顺序执行:所有任务严格按照入队顺序执行,即使任务内部有异步操作也能保证顺序 两种执行模式:支持 "立即执行" 和 "延时执


Python 线程局部存储:threading.local() 完全指南
哈里谢顿2026/1/21

一句话总结: threading.local() 是 Python 标准库提供的「线程局部存储(Thread Local Storage, TLS)」方案,让同一段代码在不同线程里拥有各自独立的变量空间,从而避免加锁,也避免了层层传参的狼狈。 1. 为什么需要线程局部存储? 在多线程环境下,如果多个线程共享同一个全局变量,就必须: 加锁 → 代码变复杂、性能下降; 或者层层传参 → 代码臃肿、可维护性差。 有些场景只想让线程各自持有一份副本,互不干扰: Web 服务:每个请求线程绑定自

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 XYZ博客