Linux系统VPS服务器购买后如何初始化?这5步必须立刻执行

新购的Linux VPS裸机状态存在大量安全与性能隐患。若跳过初始化直接部署业务,轻则被暴力破解,重则数据丢失。本文聚焦真实运维场景,提供一套可立即执行、经过生产验证的初始化流程。

一、首次登录与用户权限重构

几乎所有云服务商默认启用root账户并开放密码登录,这是高危配置。初始化第一步必须切断攻击面。

  • 禁用root远程登录:编辑SSH服务配置文件:
    sudo vi /etc/ssh/sshd_config,将PermitRootLogin设为no
  • 创建专用管理用户:执行adduser deploy(避免使用admin、user等常见名),设置高强度密码。
  • 赋予sudo权限:将新用户加入sudo组(Ubuntu)或wheel组(CentOS):
    usermod -aG sudo deployusermod -aG wheel deploy
  • 强制密钥认证:在/etc/ssh/sshd_config中设置PasswordAuthentication no,仅允许SSH密钥登录。

完成上述操作后重启SSH服务:sudo systemctl restart sshd。务必先测试新用户能否正常登录,再断开当前会话,避免锁死服务器。

二、系统级安全加固

基础用户隔离仅是起点,还需从内核层限制潜在攻击路径。

  • 关闭SELinux(如非强制合规场景):临时禁用setenforce 0,永久禁用需修改/etc/selinux/configSELINUX=disabled
  • 配置基础防火墙规则:使用ufw(Ubuntu)或firewalld(CentOS)仅开放必要端口。例如仅允许SSH(默认22)、HTTP(80)、HTTPS(443):
    ufw allow 22/tcp
    ufw allow 80/tcp
    ufw allow 443/tcp
    ufw enable
  • 修改SSH默认端口(可选但推荐):在/etc/ssh/sshd_config中设置Port 22222(避免使用1-1024知名端口),同步更新防火墙规则。

注意:修改SSH端口后务必先测试新端口连通性,再关闭原22端口,防止失联。

三、系统环境标准化

不同发行版的默认配置差异巨大,需统一关键系统参数以确保后续软件兼容性。

  • 设置正确时区:执行timedatectl set-timezone Asia/Shanghai,避免日志时间错乱。
  • 启用NTP时间同步:安装并启动chronysystemd-timesyncd服务:
    sudo apt install chrony -y && sudo systemctl enable --now chrony(Ubuntu)
    sudo yum install chrony -y && sudo systemctl enable --now chronyd(CentOS)
  • 更新系统软件包:执行全量更新消除已知漏洞:
    sudo apt update && sudo apt upgrade -y(Debian系)
    sudo yum update -y(RHEL系)

更新后建议重启系统:sudo reboot,确保内核及关键服务加载最新补丁。

四、磁盘与存储优化

云服务器默认仅挂载系统盘,若购买额外数据盘需手动初始化,否则无法使用。

  • 识别未挂载磁盘:执行lsblkfdisk -l,确认是否存在如/dev/vdb的未分区设备。
  • 分区与格式化:对新磁盘执行分区(如使用fdisk /dev/vdb创建主分区),随后格式化为xfs或ext4:
    mkfs.xfs /dev/vdb1
  • 挂载并持久化:创建挂载点mkdir /data,临时挂载mount /dev/vdb1 /data,再写入/etc/fstab实现开机自动挂载:
    echo '/dev/vdb1 /data xfs defaults 0 0' | sudo tee -a /etc/fstab

重要:务必验证/etc/fstab配置正确性,错误配置可能导致系统无法启动。可执行mount -a测试挂载。

五、基础监控与维护机制

初始化不仅是配置,更是建立可持续运维的基线。

  • 部署基础监控工具:安装htop(进程监控)、iotop(磁盘IO)、netstatss(网络连接):
    sudo apt install htop iotop net-tools -y
  • 配置日志轮转:确保logrotate服务启用,防止日志文件撑爆磁盘。
  • 设置自动安全更新(谨慎启用):Ubuntu可安装unattended-upgrades,但需评估业务兼容性风险。

初始化完成后,应立即执行一次完整快照或系统备份,作为后续故障恢复的黄金镜像。

FAQ

  1. Q:初始化过程中误操作导致无法SSH登录怎么办?
    A:通过云服务商提供的VNC控制台(如腾讯云“登录页”、阿里云“Workbench”)直接访问服务器终端进行修复。
  2. Q:是否必须关闭SELinux?
    A:若运行标准Web服务(如Nginx+PHP)且无合规要求,关闭可减少权限问题;若部署数据库或容器平台,建议保持enforcing模式并配置策略。
  3. Q:修改SSH端口后如何连接?
    A:SSH命令需显式指定端口:ssh -p 22222 deploy@服务器IP,客户端工具(如Xshell)需在会话属性中设置端口号。
  4. Q:数据盘挂载后df -h看不到怎么办?
    A:检查是否完成格式化(blkid查看文件系统类型)及/etc/fstab条目语法,常见错误包括设备名错误或文件系统类型不匹配。
  5. Q:系统更新是否会影响已安装软件?
    A:常规安全更新不会破坏兼容性,但大版本升级(如Ubuntu 20.04→22.04)需谨慎。建议在非生产环境验证后再操作。
  6. Q:如何验证防火墙规则已生效?
    A:使用ufw status verbose(Ubuntu)或firewall-cmd --list-all(CentOS)查看当前规则,外部可用nmap -p 端口号 服务器IP扫描开放端口。