云服务器安装CentOS、Ubuntu或Debian等系统有哪些注意事项?

在云服务器上安装 CentOS、Ubuntu 或 Debian 等 Linux 发行版时,通常无需用户手动“安装”操作系统(如传统物理机那样从 ISO 引导安装),而是通过云平台提供的镜像(Image)一键部署。因此,所谓“安装”的注意事项,实际聚焦于 镜像选择、初始化配置、安全加固和云环境适配 等关键环节。以下是分维度的实用注意事项:


✅ 一、镜像选择:优先使用云平台官方/认证镜像

发行版 推荐做法 注意事项
CentOS 慎选 CentOS 7(EOL 已至 2024-06-30),避免使用 CentOS 8(已提前终止)
✅ 推荐迁移到 Rocky Linux / AlmaLinux(RHEL 兼容替代)CentOS Stream(滚动开发流,非稳定生产首选)
不要自行上传未签名 CentOS ISO;云厂商镜像可能含定制内核/驱动(如 Alibaba Cloud Kernel),需确认兼容性
Ubuntu ✅ 优先选用 LTS 版本(如 22.04 LTS、24.04 LTS),长期支持(5年)+ 官方安全更新
⚠️ 避免非 LTS 版本(如 23.10)用于生产
检查云平台是否提供 ubuntu-minimal(更轻量)或 ubuntu-pro(含扩展安全补丁)镜像
Debian ✅ 推荐 stable 分支(如 Debian 12 "Bookworm")
⚠️ 避免 testing/unstable(不稳定)
Debian 镜像默认精简,部分云平台会预装 cloud-initqemu-guest-agent,务必确认

🔹 通用建议

  • 选择镜像时勾选 “启用 cloud-init”(几乎所有主流云平台默认开启)——这是实现首次启动自动配置(SSH密钥注入、主机名、网络、用户数据等)的核心组件。
  • 优先选用云厂商官方维护镜像(如阿里云“公共镜像”、腾讯云“官方镜像”、AWS AMI、Azure Marketplace 镜像),而非社区或自建镜像,确保内核适配虚拟化(KVM/Xen)、网卡驱动(e1000/virtio)、块设备(virtio-blk)等。

✅ 二、部署前的关键配置项

项目 推荐操作 原因
SSH 密钥对 强制使用 SSH 密钥登录,禁用密码认证
• 创建密钥对(ssh-keygen -t ed25519
• 在云平台控制台绑定公钥 → 自动注入到 /root/.ssh/authorized_keys
防暴力破解;密钥比密码更安全;cloud-init 自动完成注入
安全组/防火墙 🔒 最小权限原则开放端口
• 仅放行:22(SSH)、80/443(Web)、必要业务端口
禁止开放 22 端口给 0.0.0.0/0(建议限制 IP 段或使用跳板机)
云服务器公网暴露风险极高,首道防线必须严控
实例规格与磁盘 💾 根分区建议 ≥ 40GB(尤其 Ubuntu/Debian 默认占用较大)
• 系统盘选 SSD/ESSD(性能稳定)
• 如需大容量存储,单独挂载数据盘(格式化为 ext4/xfs)并挂载到 /data 等目录
避免系统盘爆满导致服务异常;云盘 IOPS/吞吐需匹配业务负载
区域与可用区 🌐 选择离用户/业务最近的地域(降低延迟)
• 生产环境建议跨可用区部署(高可用)
网络延迟影响显著;单可用区故障会导致服务中断

✅ 三、首次登录后必做的安全与优化操作

# 1. 更新系统(Ubuntu/Debian)
sudo apt update && sudo apt upgrade -y

# 2. 更新系统(Rocky/Alma/CentOS Stream)
sudo dnf update -y   # 或 yum update -y(旧版)

# 3. 创建普通用户 + 赋予 sudo 权限(禁止 root 直接 SSH)
sudo adduser deploy
sudo usermod -aG wheel deploy   # RHEL系(Rocky/Alma)
sudo usermod -aG sudo deploy     # Ubuntu/Debian

# 4. 禁用 root SSH 登录(编辑 /etc/ssh/sshd_config)
PermitRootLogin no
PasswordAuthentication no   # 确保已配置密钥登录后再启用此项!
sudo systemctl restart sshd

# 5. 启用并配置 UFW(Ubuntu/Debian)或 firewalld(RHEL系)
sudo ufw allow OpenSSH && sudo ufw enable
# 或
sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload

# 6. 检查 cloud-init 是否成功运行
sudo cloud-init status --long  # 应显示 'status: done'
ls -l /var/lib/cloud/instances/*/sem/config_*  # 查看各模块执行状态

✅ 四、云环境特有注意事项

场景 建议
网络配置 不要手动修改 /etc/network/interfacesnmcli 配置网络
✅ 云平台通过 cloud-init + dhclientsystemd-networkd 动态管理网卡(尤其多网卡、弹性IP场景)
• 若需静态IP,请在云控制台绑定弹性公网IP或配置私有网络子网路由
时间同步 ✅ 确保 systemd-timesyncdchrony 运行(云平台通常已预装)
timedatectl status 检查是否启用 NTP,避免时间漂移影响 SSL/TLS、数据库事务等
内核与驱动 ✅ 云镜像已启用 virtio 驱动(高性能虚拟化 I/O)
• 不要随意更换内核(除非明确需要新特性)
• 避免安装 dkms + 闭源驱动(云环境无需 NVIDIA/AMD GPU 驱动)
日志与监控 ✅ 启用云平台 Agent(如阿里云 aliyun-service、腾讯云 tencent-monitor-agent)获取 CPU/内存/磁盘监控
• 日志建议集中采集(如 ELK / Loki + Promtail)而非仅依赖本地 /var/log
备份策略 💾 必须开启云盘快照(Snapshot)策略(每日/每周自动快照)
• 快照 ≠ 备份!重要数据需额外异地备份(如对象存储 OSS/COS)

⚠️ 特别提醒(避坑清单)

  • ❌ 不要在云服务器上启用 SELinux(RHEL系)或 AppArmor(Ubuntu)未经充分测试——云环境复杂策略易导致服务启动失败(如 Docker、Nginx、数据库)。
  • ❌ 不要卸载 cloud-init(即使不用其功能)——它参与元数据获取、SSH密钥注入、主机名设置等,卸载可能导致实例无法正常初始化。
  • ❌ 不要直接 ddrsync 整盘克隆云服务器——云平台绑定 MAC/IP/元数据,克隆后易引发网络冲突、授权失效。
  • ✅ 推荐使用 基础设施即代码(IaC):Terraform + Ansible 自动化部署,确保环境一致、可复现、可审计。

✅ 总结:最佳实践口诀

选镜像,认官方;密钥登,禁密码;
安全组,最小开;首登录,速加固;
信 cloud-init,勿动网卡;
快照常备,日志上云;
自动化,是王道。

如需针对某家云厂商(如阿里云/腾讯云/AWS)或具体场景(如部署 Docker/K8s/数据库)的详细步骤,欢迎补充说明,我可提供定制化 checklist 或脚本模板。

未经允许不得转载:CLOUD云枢 » 云服务器安装CentOS、Ubuntu或Debian等系统有哪些注意事项?