主题
14.2 VPS 初始化与安全配置
本节目标:完成服务器的首次连接、系统更新、1Panel 面板安装和安全加固,让你的服务器既好用又安全。
小明打开终端,准备第一次连接自己的服务器。
第一步:连接服务器
购买服务器后,你会拿到三样东西:公网 IP、用户名(通常是 root)、密码。
什么是 SSH?
SSH 就是远程遥控。你的电脑是遥控器,服务器是电视——SSH 是那根看不见的红外线,让你坐在家里操控远方的机器。在第 10 章你已经了解过 SSH 的原理和密钥配置,这里直接上手。
方法一:云厂商控制台免密登录(推荐新手)
最简单的方式是直接用云厂商提供的 Web 终端:
- 打开服务器控制台
- 进入服务器概览页面
- 在「远程登录」区域点击「免密登录 / 登录」
- 浏览器将自动打开 Web 终端,即可输入命令操作


小明点击"免密登录",浏览器弹出一个黑色的终端窗口,命令提示符显示 root@xxx:~#——"我进来了!"他试着输入 ls,屏幕上什么都没有——空的。又输入 pwd,显示 /root。这就是他的服务器,一个干干净净的空系统,等着他往里面装东西。
方法二:本地终端 SSH 登录
如果你想在本地终端操作(后续会更方便),打开你电脑的终端(Windows 用 PowerShell,Mac 用 Terminal),输入:
bash
ssh root@你的服务器IP首次连接会看到一段指纹确认提示:
The authenticity of host '1.2.3.4' can't be established.
ED25519 key fingerprint is SHA256:xxxxx...
Are you sure you want to continue connecting (yes/no)?输入 yes 回车,然后输入密码。看到命令提示符变成 root@xxx:~# 就成功了。
密码输入看不见是正常的
在终端输入密码时,屏幕上不会显示任何字符(连星号都没有)。这是 Linux 的安全设计,放心输入然后回车就行。
方法三:FinalShell(日常管理更方便)
如果你希望有更好用的终端界面 + 文件管理器,可以使用 FinalShell(官网:https://www.hostbuf.com/t/988.html)。
- 打开 FinalShell → 新建连接
- 主机:服务器公网 IP
- 用户名:
root - 密码:购买服务器时设置的密码
- 点击确定,双击刚刚配置的服务器,连接即可


第二步:系统更新
老师傅说:"先别激动,先锁好门窗。裸奔的服务器在互联网上,平均几分钟就会被扫描到。"
登录后第一件事,更新系统软件包:
bash
apt update && apt upgrade -y小明回车后,屏幕开始刷刷地滚动——一行行软件包名飞速闪过。大概等了两三分钟,更新完成。
这就像给新电脑装完系统后先打补丁。apt update 刷新软件列表,apt upgrade 安装所有可用更新。


更新过程中的配置提示
如果看到弹出一些配置页面,直接按回车保持默认就好。更新完成后,服务器可能会提示需要重启,这很正常。如果中途断开连接,重新连一次即可。
第三步:安装常用工具
把这一条命令复制到终端内,会为你安装后续管理服务器会反复用到的小工具:
bash
apt install vim git curl wget htop unzip rsync jq git-lfs lsof nload net-tools dnsutils -y这些工具的作用:
| 工具 | 作用 | 使用场景举例 |
|---|---|---|
| vim | 终端文本编辑器 | 编辑配置文件 |
| git | 版本控制工具 | 拉取代码 / 推送代码 |
| curl / wget | 下载文件与测试接口 | API 调试、网络调试 |
| htop | 可视化查看系统占用 | 查看 CPU、内存使用情况 |
| unzip | 解压 zip 文件 | 上传压缩包后解压 |
| rsync | 高效同步与备份 | 一键打包站点搬迁 |
| jq | JSON 格式化工具 | 处理 API 或日志输出 |
| lsof | 查看端口占用 | 排查服务冲突 |
| nload | 监控实时网络流量 | 判断带宽是否被打爆 |
| net-tools | ifconfig / netstat 工具集 | 网络排障 |
| dnsutils | dig / nslookup | 域名解析检查 |
小明看着这一串命令,心想"这么多工具,我都用得上吗?"老师傅说:"现在不一定用,但等你遇到问题时,这些工具能救命。"
第四步:安装 1Panel 面板
1Panel 是一个现代化的 Linux 服务器管理面板,能让你通过网页界面管理服务器,不用记一堆命令。你已经用过云厂商的网页控制台买服务器——1Panel 就是把类似的管理界面装到你自己的服务器上,在浏览器里点点就能管理,不用每件事都敲命令。
一行命令安装:
bash
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh安装过程中会让你设置:
- 面板端口:建议改成一个不常见的端口(如
29876),不要用默认的 - 面板用户名:不要用
admin - 面板密码:设置一个强密码
安装完成后,终端会显示面板的访问地址:http://你的IP:端口/安全入口


记住安全入口
1Panel 的访问地址包含一个随机的安全入口路径(如 /abc123)。别人即使知道你的 IP 和端口,没有这个路径也打不开面板。务必记下来。
第五步:配置安全组(云厂商防火墙)
在浏览器访问 1Panel 之前,你需要在云厂商的控制台配置安全组。
什么是安全组?
安全组就是云厂商在机房门口设的保安。默认只放行 SSH(22 号门),其他门全锁着。你装了新应用要用新端口,得先去跟保安说"把 XX 号门也打开"。
必须开放的端口:
| 端口 | 用途 | 协议 |
|---|---|---|
| 22 | SSH 远程连接 | TCP |
| 80 | HTTP 网站访问 | TCP |
| 443 | HTTPS 网站访问 | TCP |
| 面板端口 | 1Panel 访问(安装时设置的端口) | TCP |
小明打开腾讯云控制台,找到「防火墙」页面(不同厂商叫法不同,阿里云叫「安全组」,腾讯云轻量叫「防火墙」)。他按照表格逐个添加规则,每加一条都要选协议、填端口号、选"允许"。操作不难,但第一次做会觉得有点繁琐——习惯了就好。

安全组 vs 系统防火墙
云厂商的安全组和服务器系统内的防火墙(如 ufw)是两道门。两道都要开,流量才能进来。很多新手只开了一道,然后怎么都访问不了,排查半天。
配置完安全组后,在浏览器里打开 1Panel 的访问地址,输入用户名和密码登录。


小明看到了一个网页版的控制台——"这比命令行友好多了。"面板首页显示着服务器的实时状态——CPU 使用率、内存占用、磁盘空间、网络流量,一目了然。左侧菜单有应用商店、容器管理、数据库、网站、计划任务……小明点了一圈,感觉像是给服务器装了一个操作系统的桌面。

第六步:安装 Docker 和配置镜像加速
登录 1Panel 面板后,系统会引导你安装 Docker。点击一键安装即可。
安装完 Docker 后,配置镜像加速非常重要。和你给 npm 配淘宝镜像是一回事——Docker Hub 是国外的应用仓库,不配加速源的话下载速度感人。安装 Docker 时 1Panel 会提示你是否自动配置镜像加速(按 y 即可),之后也可以在「容器 > 配置」中手动修改。
小明配置好加速后试着装了个应用,几秒就好了——之前不配加速的时候等了十分钟都没动静。
镜像加速是国内必做项
不配置镜像加速,你在安装应用时大概率会卡在"拉取镜像"这一步,等半天然后超时失败。配置好加速后,几秒钟就能拉完。
第七步:服务器安全加固
老师傅说:"以下几步不是可选项,是必做项。"
小明有点不理解:"我的服务器上又没什么重要数据,谁会来攻击我?"老师傅打开了 1Panel 的日志页面,指着一堆来自世界各地的 SSH 登录失败记录:"看到了吗?你的服务器上线不到一小时,已经有几百次暴力破解尝试了。这些是自动化的扫描脚本,不管你是谁,只要端口开着就会来试。"
小明看了一眼那些 IP 地址,来自俄罗斯、巴西、越南……"好吧,锁门窗确实有必要。"
7.1 启用 1Panel 防火墙
在 1Panel 中打开:系统 → 防火墙
- 开启防火墙,并添加规则,放行刚刚在云厂商那里开放的端口(80、443、面板端口等)


7.2 修改 SSH 默认端口
默认的 22 端口是黑客扫描的重点目标。在 1Panel 里就能改:
- 进入「系统 > SSH 管理」
- 找到「连接端口」,点击旁边的「设置」按钮,在弹窗中改成一个不常见的端口(如
24324)

改完之后,记得在云厂商安全组和 1Panel「系统 > 防火墙」里都开放新端口,然后用新端口连接测试:
bash
ssh -p 24324 root@你的服务器IP小明打开一个新的终端窗口,用新端口连接——成功了。他松了口气,然后回到云厂商控制台把旧的 22 端口规则删掉。
先测试再关旧端口
修改 SSH 端口后,不要急着关闭 22 端口。先用新端口连接成功了,再回去关 22。否则一旦新端口配置有误,你就把自己锁在门外了。
7.3 开启 Fail2Ban
什么是 Fail2Ban?
Fail2Ban 就是自动拉黑。有人连续输错密码 5 次,直接把他的 IP 封掉——就像银行卡连续输错密码会被锁定一样。
进入 1Panel「工具箱 > Fail2Ban」,如果显示红色的"未安装",点击旁边的「立即安装」按钮,1Panel 会自动帮你装好。安装完成后就能在面板里可视化管理封禁规则了。默认配置已经够用——SSH 连续失败 5 次就封禁 IP。

记得把监听端口改成你之前设置的端口。

装完 Fail2Ban 后,小明再看日志,发现那些暴力破解的 IP 已经被自动封禁了。"就像给门口装了个自动锁——试错太多次,直接不让你进。"
7.4 配置 SSH 密钥登录(代替密码)
密码再复杂也有被暴力破解的风险。SSH 密钥登录是更安全的方式——只有拥有私钥的设备才能登录,密码暴力破解完全失效。
在本地电脑生成 SSH 密钥
Windows 用户打开 PowerShell,Mac/Linux 用户打开终端,执行:
bash
ssh-keygen -t rsa -b 4096连续按几次回车即可(使用默认路径和空密码)。
生成成功后,查看公钥内容:
bash
cat ~/.ssh/id_rsa.pub你会看到类似这样的内容(这就是「公钥」):
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...
公钥 vs 私钥
- 公钥(
id_rsa.pub)可以公开,上传到服务器 - 私钥(
id_rsa)必须妥善保存,不可泄露。私钥就是你的"钥匙",丢了就等于把家门钥匙丢了
将公钥上传到服务器
在 1Panel 中打开:系统 → SSH 管理
设置:
| 项 | 设置 |
|---|---|
| 密钥认证 | ✅ 开启 |
| 授权密钥 | 点击「授权密钥」按钮,将刚复制的公钥粘贴进去 |
| 密码认证 | ❌ 关闭(先确认密钥登录成功再关) |

保存后,先不要关闭当前的 SSH 连接。打开一个新的终端窗口,用密钥登录测试:
bash
ssh -p 24324 root@你的服务器IP如果能直接登录(不需要输入密码),说明密钥配置成功。这时再回到 1Panel 关闭「密码认证」,点击「重启 SSH 服务」。
小明先确认密钥登录正常,然后关掉密码认证。他用新终端窗口测试了一下——密钥登录成功,密码登录被拒绝。"这下暴力破解密码完全没用了。"
先测试再禁用密码
禁用密码登录前,务必先确认密钥登录成功。否则一旦配置有误,你就把自己锁在门外了,只能通过云厂商的 Web 终端进去修复。
7.5 启用 WAF(可选,但强烈推荐)
如果后续为网站绑定了域名,可以直接在 1Panel 高级功能免费开启 WAF(Web 应用防火墙)。它的主要作用是帮助网站自动拦截常见的恶意请求,例如扫描、爆破、SQL 注入等,属于"默认加一层锁"的操作。
启用方式:
- 在 1Panel 中进入:
高级功能 → WAF - 切换到「全局设置」
- 启用「访问频率限制」(防止恶意刷新、CC 攻击)
- 保存即可

WAF 不会影响正常访问,即便你不做额外安全配置,也能显著减少恶意流量。
日常维护清单
服务器不是装好就不管了。好消息是,大部分维护操作在 1Panel 面板里都能完成:
| 操作 | 在 1Panel 里怎么做 | 命令行替代 |
|---|---|---|
| 查看系统负载 | 面板首页仪表盘,或「系统 > 监控」查看详细趋势图 | htop |
| 检查磁盘空间 | 面板首页底部的磁盘用量 | df -h |
| 清理 Docker 垃圾 | 面板终端里执行清理命令 | docker system prune -f |
| 系统更新 | 面板终端里执行 | apt update && apt upgrade -y |
本节总结
| 已完成 | 意义 |
|---|---|
| 连接服务器 | 可以远程操作服务器 |
| 系统更新 | 安全性和兼容性更高 |
| 安装常用工具 | 具备基本开发和排错能力 |
| 安装 1Panel | 可视化管理服务器 |
| 配置安全组 | 开放必要端口,阻挡其他流量 |
| 启用防火墙 + Fail2Ban | 阻挡恶意访问 |
| 修改 SSH 端口 | 减少暴力破解风险 |
| 启用密钥登录 | 从根源上杜绝密码爆破 |
| 启用 WAF | 减少恶意流量 |
安全不是复杂,是该做的几步必须做。做到这一章,你的服务器就不再是「裸奔」状态。
下一步
服务器准备好了,安全也加固了。接下来进入正题——14.3.1 应用商店与 Docker 基础,学习如何用 1Panel 一键安装各种应用。
