· 服务器运维  · 8 min read

全新 Ubuntu 22.04 VPS 初始化与安全加固终极指南

从零开始配置Ubuntu 22.04服务器,遵循'安全第一,方便其次'的原则,完成从登录到加固的全过程,让你的VPS如铜墙铁壁般安全。

从零开始配置Ubuntu 22.04服务器,遵循'安全第一,方便其次'的原则,完成从登录到加固的全过程,让你的VPS如铜墙铁壁般安全。

前言

恭喜你获得一台全新的 Ubuntu 22.04 服务器!这台服务器就像一栋毛坯房,需要进行基础的装修和安防才能安心使用。本指南遵循**“安全第一,方便其次”**的原则,带你一步步完成从登录到加固的全过程。强烈建议按照顺序操作。

第一阶段:基础登录与用户管理

目标:创建日常管理账户,避免直接使用 root。

步骤 1:首次登录与修改 Root 密码

刚拿到的 VPS,服务商会提供一个 root 账户和初始密码。

  1. 打开你的本地终端(Windows 使用 PowerShell/WSL,macOS 使用 Terminal)。

  2. 使用 root 账户登录服务器:

ssh root@YOUR_SERVER_IP

(将 YOUR_SERVER_IP 替换成你的服务器公网 IP 地址)

  1. 登录后,立即修改 root 密码,增强账户安全:
passwd

按照提示输入新的、高强度的密码。

步骤 2:创建新的日常用户

黄金法则:永远不要用 root 用户进行日常操作!

  1. 创建一个新用户(例如,我们称之为 admin):
adduser admin

系统会引导你为新用户设置密码和一些可选信息(可选信息可直接按回车跳过)。请务必设置一个强密码。

步骤 3:授予新用户 sudo 权限

sudo 允许普通用户临时以 root 身份执行命令,是安全管理的标准做法。

  1. 将新用户 admin 添加到 sudo 用户组:
usermod -aG sudo admin
  1. 验证(重要!):切换到新用户,并尝试执行一个 sudo 命令。
# 切换到新用户
su - admin

# 尝试更新软件包列表
sudo apt update

系统会要求输入 admin 用户的密码。如果命令成功执行,说明 sudo 权限配置正确。

第二阶段:SSH 安全加固(核心)

目标:关闭风险极高的密码登录,启用更安全的密钥登录。

步骤 4:在本地电脑生成 SSH 密钥对

  1. 打开你自己的电脑(Mac/Windows/Linux)的终端。

  2. 检查是否已有密钥:

ls -l ~/.ssh/id_rsa.pub
# 或者 ls -l ~/.ssh/id_ed25519.pub

如果文件存在,可跳过生成步骤,直接使用现有密钥。

  1. 生成新密钥(如果不存在)。推荐使用 ed25519 算法:
ssh-keygen -t ed25519 -C "your_email@example.com"

过程中会询问保存路径和密码(passphrase)。

  • 保存路径:直接按回车使用默认值。
  • 密码(passphrase):强烈建议设置一个!这是给你的私钥文件加的一道保险,即使私钥文件泄露,没有此密码也无法使用。

步骤 5:将公钥上传至服务器

这一步是把你的”锁”(公钥)安装到服务器的”门”上。

在你的本地电脑终端上,使用 ssh-copy-id 命令(最简单可靠):

# 语法: ssh-copy-id -p <端口号> 用户名@服务器IP
# 假设你还没改端口,默认是 22
ssh-copy-id admin@YOUR_SERVER_IP

命令会提示你输入 admin 用户在服务器上的登录密码。正确输入后,公钥会自动部署。

步骤 6:修改 SSH 服务配置

  1. 使用新用户 admin 登录你的服务器。
ssh admin@YOUR_SERVER_IP
  1. 测试密钥登录是否生效。在登录过程中,如果提示你输入”passphrase”,说明正在使用密钥登录。如果直接登录成功(没有输入服务器密码),也说明密钥生效。务必确认此步成功再继续!

  2. 编辑 SSH 配置文件:

sudo nano /etc/ssh/sshd_config
  1. 修改以下关键配置:
# 1. (推荐) 更改默认端口,躲避自动化扫描
# 将 Port 22 改为一个不常用的端口 (1024-65535),例如:
Port 2222

# 2. (必须) 禁止 root 远程登录
PermitRootLogin no

# 3. (必须) 禁用密码登录,只允许密钥登录
PasswordAuthentication no

# 4. (推荐) 确保公钥认证是开启的 (通常默认开启)
PubkeyAuthentication yes
  1. 保存并退出:按 Ctrl + X -> 按 Y -> 按 Enter

  2. 重启 SSH 服务使配置生效:

sudo systemctl restart sshd

【紧急提醒】 重启 SSH 后,你当前的连接不会断开。但新的连接规则已生效。请立即打开一个新的本地终端窗口,使用新端口和密钥测试登录,确保能成功连接,防止把自己锁在门外!

# 使用新端口测试登录
ssh -p 2222 admin@YOUR_SERVER_IP

第三阶段:防火墙与系统基础配置

目标:建立网络访问规则,并完成系统环境的基础设置。

步骤 7:配置防火墙 (UFW)

Ubuntu 自带的 UFW (Uncomplicated Firewall) 简单易用。

  1. 允许你新设置的 SSH 端口(至关重要!):
# 将 2222 替换成你自己的新SSH端口
sudo ufw allow 2222/tcp
  1. 如果你计划搭建网站,也放行 HTTP 和 HTTPS 端口:
sudo ufw allow http  # 80端口
sudo ufw allow https # 443端口
  1. 启用防火墙:
sudo ufw enable

系统会提示可能中断现有连接,输入 y 并回车。

  1. 查看防火墙状态,确保规则已生效:
sudo ufw status

步骤 8:更新系统

保持系统和软件包是最新版本,可以修复已知的安全漏洞。

sudo apt update
sudo apt upgrade -y

步骤 9:设置时区

正确的时区对日志分析和定时任务非常重要。

# 例如,设置为上海时间
sudo timedatectl set-timezone Asia/Shanghai

# 验证设置
timedatectl

步骤 10:安装常用工具包

sudo apt install -y curl wget git unzip htop nano vim

这些工具在后续的服务器维护中几乎都会用到。

完成!

至此,你的 Ubuntu 22.04 VPS 已经完成了所有必要的初始化和安全加固。它现在拥有一个坚实、安全的基础,你可以放心地在上面部署你的应用程序了。

安全加固要点回顾:

用户管理:创建了专用管理账户,避免直接使用root ✅ SSH安全:启用密钥登录,禁用密码登录,更改默认端口 ✅ 防火墙:配置UFW防火墙,只开放必要端口 ✅ 系统更新:保持系统最新,修复安全漏洞 ✅ 基础工具:安装常用维护工具

你的服务器现在已经具备了企业级的安全防护水平,可以安全地承载你的项目了!

Back to Blog

Related Posts

View All Posts »