Skip to content

14.2 VPS 初始化与安全配置

本节目标:完成服务器的首次连接、系统更新、1Panel 面板安装和安全加固,让你的服务器既好用又安全。

小明打开终端,准备第一次连接自己的服务器。

第一步:连接服务器

购买服务器后,你会拿到三样东西:公网 IP用户名(通常是 root)、密码

什么是 SSH?

SSH 就是远程遥控。你的电脑是遥控器,服务器是电视——SSH 是那根看不见的红外线,让你坐在家里操控远方的机器。在第 10 章你已经了解过 SSH 的原理和密钥配置,这里直接上手。

方法一:云厂商控制台免密登录(推荐新手)

最简单的方式是直接用云厂商提供的 Web 终端:

  1. 打开服务器控制台
  2. 进入服务器概览页面
  3. 在「远程登录」区域点击「免密登录 / 登录」
  4. 浏览器将自动打开 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)。

  1. 打开 FinalShell → 新建连接
  2. 主机:服务器公网 IP
  3. 用户名:root
  4. 密码:购买服务器时设置的密码
  5. 点击确定,双击刚刚配置的服务器,连接即可

FinalShell 连接界面

SSH 连接成功界面

第二步:系统更新

老师傅说:"先别激动,先锁好门窗。裸奔的服务器在互联网上,平均几分钟就会被扫描到。"

登录后第一件事,更新系统软件包:

bash
apt update && apt upgrade -y

小明回车后,屏幕开始刷刷地滚动——一行行软件包名飞速闪过。大概等了两三分钟,更新完成。

这就像给新电脑装完系统后先打补丁。apt update 刷新软件列表,apt upgrade 安装所有可用更新。

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高效同步与备份一键打包站点搬迁
jqJSON 格式化工具处理 API 或日志输出
lsof查看端口占用排查服务冲突
nload监控实时网络流量判断带宽是否被打爆
net-toolsifconfig / netstat 工具集网络排障
dnsutilsdig / 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 安装过程

1Panel 安装完成

记住安全入口

1Panel 的访问地址包含一个随机的安全入口路径(如 /abc123)。别人即使知道你的 IP 和端口,没有这个路径也打不开面板。务必记下来

第五步:配置安全组(云厂商防火墙)

在浏览器访问 1Panel 之前,你需要在云厂商的控制台配置安全组

什么是安全组?

安全组就是云厂商在机房门口设的保安。默认只放行 SSH(22 号门),其他门全锁着。你装了新应用要用新端口,得先去跟保安说"把 XX 号门也打开"。

必须开放的端口:

端口用途协议
22SSH 远程连接TCP
80HTTP 网站访问TCP
443HTTPS 网站访问TCP
面板端口1Panel 访问(安装时设置的端口)TCP

小明打开腾讯云控制台,找到「防火墙」页面(不同厂商叫法不同,阿里云叫「安全组」,腾讯云轻量叫「防火墙」)。他按照表格逐个添加规则,每加一条都要选协议、填端口号、选"允许"。操作不难,但第一次做会觉得有点繁琐——习惯了就好。

腾讯云防火墙添加规则

安全组 vs 系统防火墙

云厂商的安全组和服务器系统内的防火墙(如 ufw)是两道门。两道都要开,流量才能进来。很多新手只开了一道,然后怎么都访问不了,排查半天。

配置完安全组后,在浏览器里打开 1Panel 的访问地址,输入用户名和密码登录。

1Panel 登录页面

1Panel 主界面

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

容器监控面板

第六步:安装 Docker 和配置镜像加速

登录 1Panel 面板后,系统会引导你安装 Docker。点击一键安装即可。

安装完 Docker 后,配置镜像加速非常重要。和你给 npm 配淘宝镜像是一回事——Docker Hub 是国外的应用仓库,不配加速源的话下载速度感人。安装 Docker 时 1Panel 会提示你是否自动配置镜像加速(按 y 即可),之后也可以在「容器 > 配置」中手动修改。

小明配置好加速后试着装了个应用,几秒就好了——之前不配加速的时候等了十分钟都没动静。

镜像加速是国内必做项

不配置镜像加速,你在安装应用时大概率会卡在"拉取镜像"这一步,等半天然后超时失败。配置好加速后,几秒钟就能拉完。

第七步:服务器安全加固

老师傅说:"以下几步不是可选项,是必做项。"

小明有点不理解:"我的服务器上又没什么重要数据,谁会来攻击我?"老师傅打开了 1Panel 的日志页面,指着一堆来自世界各地的 SSH 登录失败记录:"看到了吗?你的服务器上线不到一小时,已经有几百次暴力破解尝试了。这些是自动化的扫描脚本,不管你是谁,只要端口开着就会来试。"

小明看了一眼那些 IP 地址,来自俄罗斯、巴西、越南……"好吧,锁门窗确实有必要。"

7.1 启用 1Panel 防火墙

在 1Panel 中打开:系统 → 防火墙

  • 开启防火墙,并添加规则,放行刚刚在云厂商那里开放的端口(80、443、面板端口等)

1Panel 防火墙配置

1Panel 防火墙规则列表

7.2 修改 SSH 默认端口

默认的 22 端口是黑客扫描的重点目标。在 1Panel 里就能改:

  1. 进入「系统 > SSH 管理」
  2. 找到「连接端口」,点击旁边的「设置」按钮,在弹窗中改成一个不常见的端口(如 24324

1Panel SSH 管理页面

改完之后,记得在云厂商安全组和 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 安装

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

Fail2ban 配置

装完 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...

Windows PowerShell 生成 SSH 密钥

公钥 vs 私钥

  • 公钥id_rsa.pub)可以公开,上传到服务器
  • 私钥id_rsa)必须妥善保存,不可泄露。私钥就是你的"钥匙",丢了就等于把家门钥匙丢了

将公钥上传到服务器

在 1Panel 中打开:系统 → SSH 管理

设置:

设置
密钥认证✅ 开启
授权密钥点击「授权密钥」按钮,将刚复制的公钥粘贴进去
密码认证❌ 关闭(先确认密钥登录成功再关)

1Panel SSH 密钥管理

保存后,先不要关闭当前的 SSH 连接。打开一个新的终端窗口,用密钥登录测试:

bash
ssh -p 24324 root@你的服务器IP

如果能直接登录(不需要输入密码),说明密钥配置成功。这时再回到 1Panel 关闭「密码认证」,点击「重启 SSH 服务」。

小明先确认密钥登录正常,然后关掉密码认证。他用新终端窗口测试了一下——密钥登录成功,密码登录被拒绝。"这下暴力破解密码完全没用了。"

先测试再禁用密码

禁用密码登录前,务必先确认密钥登录成功。否则一旦配置有误,你就把自己锁在门外了,只能通过云厂商的 Web 终端进去修复。

7.5 启用 WAF(可选,但强烈推荐)

如果后续为网站绑定了域名,可以直接在 1Panel 高级功能免费开启 WAF(Web 应用防火墙)。它的主要作用是帮助网站自动拦截常见的恶意请求,例如扫描、爆破、SQL 注入等,属于"默认加一层锁"的操作。

启用方式:

  1. 在 1Panel 中进入:高级功能 → WAF
  2. 切换到「全局设置」
  3. 启用「访问频率限制」(防止恶意刷新、CC 攻击)
  4. 保存即可

1Panel WAF 配置

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 一键安装各种应用。