先别急着敲命令。拿到一台 Ubuntu 24.04 UEFI 版的云服务器,很多人第一反应是 ssh root@ip,然后开始装 Nginx、MySQL。
停。
UEFI 版和普通 BIOS 版在底层逻辑上没区别,但在初始配置、网络连通性验证、以及安全基线上,有几个坑不踩会浪费你大量排查时间。我是怎么做的?直接上干货流程。
第一步:确认“能连上”之前,先搞懂身份
Ubuntu 24.04 默认用户不是 root,而是 ubuntu。这是 Debian/Ubuntu 系列的铁律,也是新手最容易卡住的地方。
-
获取初始密码或密钥:
- 如果是控制台设置的密码:直接用
ssh ubuntu@<公网IP>。 - 如果上传了 SSH 密钥:用
ssh -i /path/to/key.pem ubuntu@<公网IP>。 - 注意:首次登录可能会提示
The authenticity of host... can't be established.,输入yes回车即可。
- 如果是控制台设置的密码:直接用
-
提权准备:
登录后,默认没有 sudo 权限的交互记录(除非你改过),但通常ubuntu用户在/etc/sudoers里。执行以下命令切换 root 或提升权限:sudo su - # 或者每次操作前加 sudo
第二步:系统初始化(必做,别跳过)
新买的云主机,内核和软件包可能不是最新的。UEFI 启动不影响这个步骤,但为了稳定,先更新。
# 1. 更新软件源列表
sudo apt update
# 2. 升级所有已安装的包(包括内核相关的安全补丁)
sudo apt upgrade -y
# 3. 清理无用依赖
sudo apt autoremove
为什么? 很多教程让你直接装 Docker,结果因为旧的内核模块冲突报错。先干净,再安装。
第三步:防火墙与安全组(双重保险)
这是云服务器特有的坑。云厂商的安全组 + 系统内部的 UFW 防火墙,必须都放行。
1. 云控制台操作
去你的云厂商后台(阿里云/AWS/腾讯云等),找到【安全组】规则:
- 入方向:放行
22(SSH),80(HTTP),443(HTTPS),以及你业务需要的端口。 - 出方向:默认全放行,不用动。
2. 系统内部 UFW 配置
Ubuntu 自带 ufw(Uncomplicated Firewall)。建议开启它,作为最后一道防线。
# 安装 ufw(通常已预装)
sudo apt install ufw -y
# 设置默认策略:拒绝所有入站,允许所有出站
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 允许 SSH(重要!否则你关防火墙就断联了)
sudo ufw allow ssh
# 允许 HTTP/HTTPS
sudo ufw allow http
sudo ufw allow https
# 启用防火墙
sudo ufw enable
警告:执行
sudo ufw enable时,如果当前 SSH 连接不稳定,可能会断开。确保你在云控制台的 VNC 终端里有备份访问方式,或者确认 22 端口已在安全组放行。
第四步:创建专用用户(安全最佳实践)
永远不要用 root 远程登录。 这是被暴力破解的重灾区。
# 1. 创建新用户,例如叫 devops
sudo adduser devops
# 2. 将用户加入 sudo 组
sudo usermod -aG sudo devops
# 3. (可选但推荐)禁用 root 密码登录,强制使用密钥
# 编辑 SSH 配置文件
sudo nano /etc/ssh/sshd_config
# 找到这两行并修改:
PermitRootLogin no
PasswordAuthentication no # 如果你只用密钥登录的话
# 重启 SSH 服务
sudo systemctl restart sshd
测试:新开一个终端窗口,用
devops用户登录,看是否能正常执行sudo命令。确认无误后,再考虑是否关闭 root 登录。
第五步:基础环境部署(以 Web 服务为例)
假设你要跑一个 Node.js 或 Python 项目,或者搭建 Nginx。
场景 A:安装 Nginx
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
浏览器访问 http://<你的IP>,看到 "Welcome to nginx!" 页面,说明网络通了。
场景 B:安装 Docker(更现代的做法)
Ubuntu 24.04 对 Docker 支持很好,但官方仓库版本可能滞后,建议用官方脚本一键安装:
curl -fsSL https://get.docker.com | sh
# 启动 Docker
sudo systemctl enable docker
sudo systemctl start docker
# 让普通用户也能用 docker(避免每次 sudo)
sudo usermod -aG docker devops
第六步:UEFI 版特别注意事项
虽然 UEFI 不影响日常使用,但有几点需要留意:
- GRUB 引导:UEFI 模式下,GRUB 配置在
/boot/efi/分区。如果你手动调整分区或使用自定义镜像,务必确保 EFI 分区挂载正确,否则重启可能进不去系统。 - Secure Boot(安全启动):
- 大多数云服务器提供商默认关闭 Secure Boot。
- 如果你需要加载第三方内核模块(如某些 NVIDIA 驱动、虚拟网卡驱动),且遇到签名问题,请检查云控制台是否启用了 Secure Boot。如有必要,需在 BIOS/UEFI 设置中关闭它,或在安装驱动时导入 MOK(Machine Owner Key)。
- 时间同步:UEFI 硬件时钟更精准,但系统仍需 NTP 同步。
timedatectl set-ntp true timedatectl status # 查看是否同步成功
常见避坑指南
| 问题 | 原因 | 解决方案 |
|---|---|---|
| SSH 连接超时 | 安全组未放行 22 端口 | 检查云控制台安全组入方向规则 |
apt update 慢 |
默认源在国外 | 更换为国内镜像源(清华/阿里) |
| 重启后 IP 变了 | 使用了动态公网 IP | 绑定弹性公网 IP(EIP) |
| Docker 容器无法联网 | 防火墙拦截 | 检查 UFW 是否阻止了 Docker 网桥通信 |
最后一步:备份与监控
- 快照:在关键操作前,去云控制台给系统盘打快照。这是后悔药。
-
日志监控:
# 实时查看系统日志 sudo tail -f /var/log/syslog # 查看 SSH 登录尝试 sudo grep "Failed password" /var/log/auth.log
总结:
Ubuntu 24.04 UEFI 版的使用核心不在于“UEFI”,而在于规范化的 Linux 服务器管理流程:
- 换用户(弃用 root 直连)
- 开防火墙(UFW + 安全组)
- 清环境(apt update & upgrade)
- 做快照(防手滑)
按这个顺序走,你的服务器至少能稳定运行半年不出大问题。其他应用层的部署,都是在这个稳固基础上搭积木。
云知道CLOUD