打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

搬瓦工VPS首次登录清单(基本安全加固及初始化步骤):修订间差异

来自md5.pw
Dai留言 | 贡献
搬瓦工VPS首次登录清单(基本安全加固及初始化步骤)
 
Liam留言 | 贡献
无编辑摘要
 
(未显示另一用户的1个中间版本)
第17行: 第17行:
成功登入后,第一件事就是更新操作系统的软件源和已安装的软件包。这就像是给你的手机系统打最新的安全补丁。
成功登入后,第一件事就是更新操作系统的软件源和已安装的软件包。这就像是给你的手机系统打最新的安全补丁。
  apt '''update''' && apt upgrade -y</code>
  apt '''update''' && apt upgrade -y</code>
[[File:48441.png|center|thumb|1000x1000px]]


* <code>apt update</code>:从服务器获取最新的软件列表。
* <code>apt update</code>:从服务器获取最新的软件列表。
第25行: 第26行:
== 第二阶段:更改SSH端口 - 拒绝非法入侵 ==
== 第二阶段:更改SSH端口 - 拒绝非法入侵 ==
默认的SSH端口是 <code>22</code>,这是全网扫描机器人最喜欢光顾的地方。修改端口并启用密钥登录,能帮你屏蔽99.9%的自动化攻击。
默认的SSH端口是 <code>22</code>,这是全网扫描机器人最喜欢光顾的地方。修改端口并启用密钥登录,能帮你屏蔽99.9%的自动化攻击。
[[File:48441.png|center|thumb|1000x1000px]]
== 1. 修改默认 SSH 端口 ==
== 1. 修改默认 SSH 端口 ==
我们需要编辑SSH的配置文件。这里使用系统自带的 <code>nano</code> 文本编辑器。
我们需要编辑SSH的配置文件。这里使用系统自带的 <code>nano</code> 文本编辑器。
第136行: 第135行:
== 结语 ==
== 结语 ==
至此,你的VPS已经从一个 '''什么都没有的状态''' 变成了一个'''兼具高安全性与高性能的“精装堡垒”'''。它不仅抵御了潜伏在暗处的恶意扫描,也为未来部署各类纯粹、高效的后端服务打下了最坚实的基础。
至此,你的VPS已经从一个 '''什么都没有的状态''' 变成了一个'''兼具高安全性与高性能的“精装堡垒”'''。它不仅抵御了潜伏在暗处的恶意扫描,也为未来部署各类纯粹、高效的后端服务打下了最坚实的基础。
[[Category:500 常见应用指南 — Application Guides]]

2026年3月22日 (日) 09:12的最新版本

这篇文章的内容面向新手的详尽指南,手把手带你完成VPS的最核心初始化工作。我们会直接提供经过实战检验的、最简洁的命令行操作步骤来帮你完成首次登录需要完成的事情。


第一阶段:进入系统与基础环境更新

在我们开始之前,首先要确保系统本身是最新的,没有已知的安全漏洞。本教程以目前最适合新手、社区生态较好的 Ubuntu / Debian 系统为例。

1. 首次 SSH 连接

  • 在本地电脑上打开终端(Windows 可以使用 PowerShell 或 CMD,macOS 使用 Terminal),输入以下命令并回车:
ssh root@你的VPS_IP地址

如果是首次连接,系统会弹出一长串关于指纹(ECDSA key fingerprint)的警告,这是正常的安全机制。输入 yes 并回车,随后输入你的Root密码(注意,Linux环境下输入密码时屏幕不会显示任何字符,盲打完毕后直接回车即可)

  • 也可以通过其他的第三方SSH软件(Finallshell、putty、Termius或Xshell)直接输入主机IP+端口,还有用户名和密码然后直接登陆就可以。

2. 更新软件包列表与升级系统

成功登入后,第一件事就是更新操作系统的软件源和已安装的软件包。这就像是给你的手机系统打最新的安全补丁。

apt update && apt upgrade -y
  • apt update:从服务器获取最新的软件列表。
  • apt upgrade -y:根据最新的列表,将系统中所有老旧的软件升级到最新版本。-y 表示在升级过程中自动回答“yes”,无需人工干预。

第二阶段:更改SSH端口 - 拒绝非法入侵

默认的SSH端口是 22,这是全网扫描机器人最喜欢光顾的地方。修改端口并启用密钥登录,能帮你屏蔽99.9%的自动化攻击。

1. 修改默认 SSH 端口

我们需要编辑SSH的配置文件。这里使用系统自带的 nano 文本编辑器。

nano /etc/ssh/sshd_config

使用键盘方向键向下滚动,找到被注释掉的这一行:#Port 22。 将其修改为一个不常用的端口号(建议在 10000 到 65000 之间),例如我们改为 48862。请去掉前面的 # 号:

Port 48862

修改完成后,按下 Ctrl + O 保存,回车确认,然后按下 Ctrl + X 退出编辑器。

重启SSH服务以使配置生效:

systemctl restart sshd

⚠️ 警告: 重启服务后,千万不要关闭当前的SSH窗口! 请立刻打开一个全新的终端窗口,使用新端口测试是否能成功连接: ssh -p 48862 root@你的VPS_IP地址 如果新窗口能成功连上,你才可以安全地关闭旧窗口。如果连不上,你还可以在旧窗口中把配置改回来,避免自己被锁在外面。

2. 进一步防御:配置 SSH 密钥登录

密码可能会被暴力破解,但长达几千位的非对称密钥则在算力上坚不可摧。我们需要在本地电脑生成一对钥匙(公钥和私钥),然后把公钥放在VPS上,私钥留在本地。

在你的本地电脑终端(不是VPS上)执行:

ssh-keygen -t ed25519 -C "my_vps_key"
  • ed25519 是目前极力推荐的加密算法,比传统的RSA更安全且更快速。 一路回车即可(默认会保存在本地的 ~/.ssh/id_ed25519 文件中)。

将公钥传输到VPS:

  • 如果你的本地是 Mac/Linux:
ssh-copy-id -p 28492 root@你的VPS_IP地址
  • 如果你的本地是 Windows: 你需要手动将本地 C:\Users\你的用户名\.ssh\id_ed25519.pub 文件里面的那一长串文本复制下来。然后回到 VPS的终端,执行以下命令将公钥粘贴进去:
mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys
  • 将复制的公钥文本粘贴进去,Ctrl + O 保存,Ctrl + X 退出。接着设置极其严格的权限以确保安全:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

关闭密码登录: 当你确认可以通过密钥免密码成功登录后,我们要彻底把密码登录的门焊死。 再次编辑SSH配置:

nano /etc/ssh/sshd_config

找到 PasswordAuthentication,将其修改为 no

PasswordAuthentication no

保存并退出,再次重启SSH服务:systemctl restart sshd。至此,你的服务器已经变成了铜墙铁壁。


第三阶段:部署 UFW 系统级防火墙

即使修改了SSH端口,如果后续你安装了其他软件暴露了不必要的端口,依然存在风险。我们需要一个防火墙来实行“白名单”制度:除了我允许的,其他一律拦截。

Ubuntu/Debian 推荐使用 ufw (Uncomplicated Firewall)。

1. 安装与配置基础规则

apt install ufw -y

首先,设定默认规则:拒绝所有外部主动连接进来的请求,允许所有服务器内部向外发送的请求。

ufw default deny incoming
ufw default allow outgoing

2. 放行必要的端口

这是最关键的一步,必须先放行你刚刚修改的SSH端口,否则一旦启用防火墙,你就会立刻失联!

ufw allow 48862/tcp

如果你未来打算运行一些个人工具(例如通过容器部署探针、笔记软件等),并希望通过 http://你的IP:端口 的形式最直接、最纯净地访问它们,你可以在此时或者未来放行对应的端口。例如,放行常用的 80、443 以及一个自定义的 3001 端口:

ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 3001/tcp

3. 启用防火墙

确认SSH端口已放行后,启动防火墙:

ufw enable

系统会提示这可能会中断当前的SSH连接,输入 y 确认。查看当前防火墙状态和放行列表:

ufw status 

第四阶段:网络基建与性能优化

为了让你的服务器与外界的通信更加顺畅,特别是应对高延迟、容易丢包的跨国网络环境,我们需要开启一项内核级的网络优化技术。

开启 BBR 拥塞控制算法

BBR(Bottleneck Bandwidth and Round-trip propagation time)是 Google 开发的一种网络拥塞控制算法,能显著提升网络的吞吐量并降低延迟。现代的Linux内核(4.9以上)已经原生集成了该模块。

直接修改系统配置文件:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

应用并使其立即生效:

sysctl -p

验证 BBR 是否成功开启:

lsmod | grep bbr

如果输出结果中包含 tcp_bbr 字样,说明配置已大功告成。此时你的服务器网络传输能力已经得到了极大的释放。


第五阶段:时区校准与基础工具包

最后,为了方便后续的日常维护和问题排查,我们需要将服务器时间调整到本地时区,并安装一些不可或缺的系统工具。

1. 设置系统时区

如果你的VPS位于海外,默认时间通常是UTC时间。为了在看系统日志、设置定时任务(Cron)时不会因为时差产生混乱,建议将其修改为你所在的时区(例如北京时间):

timedatectl set-timezone Asia/Shanghai

输入 date 命令即可查看当前时间是否已正确更改。

2. 安装必备的运维兵器

把这些轻量级的工具备齐,以后遇到任何问题都能游刃有余地排查:

apt install curl wget htop tmux net-tools -y
  • curl & wget: 命令行下的网络下载神器,几乎所有的一键安装脚本都要依赖它们。
  • htop: 强化版的任务管理器。输入 htop,你可以直观地看到每个CPU核心的负载、内存占用以及到底是谁在消耗系统资源。
  • tmux: 终端复用大师。当你需要执行一个耗时极长的任务时(比如编译安装),在 tmux 窗口里运行,即使你不小心关闭了本地电脑的SSH软件,任务依然会在服务器后台安全地执行。

结语

至此,你的VPS已经从一个 什么都没有的状态 变成了一个兼具高安全性与高性能的“精装堡垒”。它不仅抵御了潜伏在暗处的恶意扫描,也为未来部署各类纯粹、高效的后端服务打下了最坚实的基础。