服务器初始化是保障服务器安全、稳定运行的基础操作,需覆盖系统基础配置、安全加固、软件环境准备三大核心维度。以下是适用于 Linux 系统(以 CentOS 7 为例)的完整初始化步骤,其他发行版(如 Ubuntu)可参考调整:
一、系统基础配置(首次登录后优先操作)
1. 切换 root 用户(避免权限不足)
若初始登录为普通用户,先切换至 root:
bash
su – root # 输入 root 密码
2. 配置网络(确保服务器可联网)
- 查看网卡名称:
bash
ip addr # 通常为 eth0 或 ens33
- 修改网络配置文件(设置静态 IP,避免重启后 IP 变化):
bash
vi /etc/sysconfig/network-scripts/ifcfg-eth0 # 替换为实际网卡名称
关键配置项修改如下(其他项保留默认或按需调整):
ini
BOOTPROTO=static # 静态 IP(默认 dhcp 为动态)
ONBOOT=yes # 开机启动网卡
IPADDR=192.168.1.100 # 服务器静态 IP(需与网关在同一网段)
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 网关(路由器/交换机 IP)
DNS1=223.5.5.5 # 阿里云 DNS(加速国内解析)
DNS2=114.114.114.114 # 备用 DNS - 重启网络服务:
bash
systemctl restart network # CentOS 7
# 若为 CentOS 8/RHEL 8:systemctl restart NetworkManager - 验证网络:
bash
ping baidu.com # 能通则网络正常
3. 关闭 SELinux(避免对后续软件运行的权限干扰)
- 临时关闭(立即生效,重启后失效):
bash
setenforce 0
- 永久关闭(修改配置文件,需重启生效):
bash
vi /etc/selinux/config
将 SELINUX=enforcing 改为 SELINUX=disabled,保存退出后,后续重启服务器即可永久生效。
4. 配置时区与时间同步(避免日志、任务调度时间混乱)
- 设置时区为上海(亚洲 / 上海):
bash
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 安装并启动时间同步服务(ntp):
bash
yum install -y ntp # 安装 ntp
systemctl start ntpd # 启动服务
systemctl enable ntpd # 开机自启
ntpdate ntp.aliyun.com # 手动同步阿里云时间服务器(验证同步)
二、安全加固(降低被攻击风险)
1. 优化 SSH 服务配置(禁止密码登录、修改默认端口)
- 备份 SSH 配置文件:
bash
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
- 修改配置文件:
bash
vi /etc/ssh/sshd_config
关键配置项调整(按需求选择,建议全部配置):
ini
Port 2222 # 修改 SSH 默认端口(22→2222,避免扫描攻击,需记住新端口)
PermitRootLogin no # 禁止 root 直接登录(需通过普通用户 su 切换,更安全)
PasswordAuthentication no # 禁止密码登录(仅允许密钥登录,杜绝暴力破解)
PubkeyAuthentication yes # 开启密钥登录(前提是已配置客户端公钥,参考前文) - 重启 SSH 服务:
bash
systemctl restart sshd
systemctl enable sshd # 确保开机自启注意:修改端口后,后续 SSH 连接需指定新端口(如 ssh -p 2222 用户名@服务器IP),且需提前在防火墙开放新端口。
2. 配置防火墙(仅开放必要端口)
CentOS 7 默认使用 firewalld,替代传统 iptables,操作如下:
- 查看防火墙状态:
bash
systemctl status firewalld # 若未启动,执行 systemctl start firewalld 启动
systemctl enable firewalld # 开机自启防火墙 - 开放常用端口(按需添加,示例开放 SSH 新端口、HTTP、HTTPS):
bash
firewall-cmd –add-port=2222/tcp –permanent # 开放 SSH 新端口(2222)
firewall-cmd –add-port=80/tcp –permanent # 开放 HTTP(web 服务)
firewall-cmd –add-port=443/tcp –permanent # 开放 HTTPS(加密 web 服务) - 重载防火墙规则(使配置生效):
bash
firewall-cmd –reload
- 验证开放端口:
bash
firewall-cmd –list-ports # 查看已开放端口列表
3. 添加普通用户并赋予 sudo 权限(避免直接使用 root 操作)
- 创建普通用户(示例用户名为 admin):
bash
useradd admin # 创建用户
passwd admin # 设置密码(输入时密码不显示,确保复杂度:字母+数字+特殊符号) - 赋予 sudo 权限(允许 admin 执行 root 命令):
bash
vi /etc/sudoers
在 root ALL=(ALL) ALL 下方添加一行:
ini
admin ALL=(ALL) ALL
保存退出(vi 中需按 :wq! 强制保存,因 sudoers 文件为只读)。
三、软件环境准备(基础依赖与包管理优化)
1. 配置国内 Yum 源(加速软件下载,参考前文补充)
- 备份默认源:
bash
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 下载阿里云源(CentOS 7):
bash
# 安装 curl(若未安装)
yum install -y curl
# 下载 Base 源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 下载 EPEL 源(提供额外软件,如 nginx、git 等)
yum install -y epel-release
sed -e 's|^metalink=|#metalink=|g' -e 's|^#baseurl=|baseurl=|g' -e 's|//download.fedoraproject.org/pub|//mirrors.aliyun.com|g' -i /etc/yum.repos.d/epel.repo - 清理缓存并生成新缓存:
bash
yum clean all
yum makecache
2. 更新系统内核与软件(修复已知漏洞)
bash
yum update -y # 升级所有软件包(包括内核,若不需要升级内核,用 yum upgrade-minimal -y)
注意:内核更新后需重启服务器生效,执行 reboot 重启,重启后通过 uname -r 验证内核版本。
3. 安装常用基础工具(后续操作依赖)
bash
yum install -y vim wget net-tools lsof gcc gcc-c++ make # 分别为:编辑器、下载工具、网络工具、进程端口查看、编译工具
四、收尾验证(确保初始化配置生效)
bash
reboot
- 使用普通用户 admin + 新 SSH 端口登录:ssh -p 2222 admin@服务器IP
- 尝试切换 root:sudo su -(输入 admin 密码,能切换则 sudo 权限正常)
bash
ping baidu.com # 网络正常
yum install -y nginx # 测试 Yum 源是否能正常下载软件(安装 nginx 示例,可后续卸载)
不同场景补充说明
- Ubuntu 系统:将 yum 替换为 apt,SSH 配置文件路径不变,防火墙用 ufw(如 ufw allow 2222/tcp)。
- 生产环境:建议额外配置 定期备份(如 rsync)、日志收集(如 ELK)、监控(如 Prometheus+Grafana),进一步提升服务器稳定性。
网硕互联帮助中心




评论前必须登录!
注册