Linux系统VPS服务器购买后如何初始化?这5步必须立刻执行
- 优惠教程
- 2热度
新购的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 deploy或usermod -aG wheel deploy。 - 强制密钥认证:在
/etc/ssh/sshd_config中设置PasswordAuthentication no,仅允许SSH密钥登录。
完成上述操作后重启SSH服务:sudo systemctl restart sshd。务必先测试新用户能否正常登录,再断开当前会话,避免锁死服务器。
二、系统级安全加固
基础用户隔离仅是起点,还需从内核层限制潜在攻击路径。
- 关闭SELinux(如非强制合规场景):临时禁用
setenforce 0,永久禁用需修改/etc/selinux/config中SELINUX=disabled。 - 配置基础防火墙规则:使用
ufw(Ubuntu)或firewalld(CentOS)仅开放必要端口。例如仅允许SSH(默认22)、HTTP(80)、HTTPS(443):ufw allow 22/tcpufw allow 80/tcpufw allow 443/tcpufw enable - 修改SSH默认端口(可选但推荐):在
/etc/ssh/sshd_config中设置Port 22222(避免使用1-1024知名端口),同步更新防火墙规则。
注意:修改SSH端口后务必先测试新端口连通性,再关闭原22端口,防止失联。
三、系统环境标准化
不同发行版的默认配置差异巨大,需统一关键系统参数以确保后续软件兼容性。
- 设置正确时区:执行
timedatectl set-timezone Asia/Shanghai,避免日志时间错乱。 - 启用NTP时间同步:安装并启动
chrony或systemd-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,确保内核及关键服务加载最新补丁。
四、磁盘与存储优化
云服务器默认仅挂载系统盘,若购买额外数据盘需手动初始化,否则无法使用。
- 识别未挂载磁盘:执行
lsblk或fdisk -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)、netstat或ss(网络连接):sudo apt install htop iotop net-tools -y - 配置日志轮转:确保
logrotate服务启用,防止日志文件撑爆磁盘。 - 设置自动安全更新(谨慎启用):Ubuntu可安装
unattended-upgrades,但需评估业务兼容性风险。
初始化完成后,应立即执行一次完整快照或系统备份,作为后续故障恢复的黄金镜像。
FAQ
- Q:初始化过程中误操作导致无法SSH登录怎么办?
A:通过云服务商提供的VNC控制台(如腾讯云“登录页”、阿里云“Workbench”)直接访问服务器终端进行修复。 - Q:是否必须关闭SELinux?
A:若运行标准Web服务(如Nginx+PHP)且无合规要求,关闭可减少权限问题;若部署数据库或容器平台,建议保持enforcing模式并配置策略。 - Q:修改SSH端口后如何连接?
A:SSH命令需显式指定端口:ssh -p 22222 deploy@服务器IP,客户端工具(如Xshell)需在会话属性中设置端口号。 - Q:数据盘挂载后df -h看不到怎么办?
A:检查是否完成格式化(blkid查看文件系统类型)及/etc/fstab条目语法,常见错误包括设备名错误或文件系统类型不匹配。 - Q:系统更新是否会影响已安装软件?
A:常规安全更新不会破坏兼容性,但大版本升级(如Ubuntu 20.04→22.04)需谨慎。建议在非生产环境验证后再操作。 - Q:如何验证防火墙规则已生效?
A:使用ufw status verbose(Ubuntu)或firewall-cmd --list-all(CentOS)查看当前规则,外部可用nmap -p 端口号 服务器IP扫描开放端口。