目录
2. SSH 基于密钥交换的介绍和原理
2.1 核心优势
2.2 密钥交换原理(非对称加密体系)
2.3 基础配置步骤
3. 服务器初始化
3.1 安装 yum 网络源
3.1.1 背景说明
3.1.2 实操步骤
3.2 安装运维的必备工具
3.2.1 工具清单
3.2.2 批量安装命令
3.3 网络验证
3.3.1 验证目的
3.3.2 实操步骤
3.4 配置主机名及主机映射
3.4.1 配置主机名(按角色命名)
3.4.2 设置主机映射(加速内网访问)
3.5 时间同步(chronyd)
3.5.1 同步必要性
3.5.2 实操步骤
3.6 防火墙设置
3.6.1 防火墙选择
3.6.2 实操步骤
Linux 服务器初始化总结
2. SSH 基于密钥交换的介绍和原理
2.1 核心优势
SSH是企业级服务器远程管理的标准协议,支持密码认证与密钥认证,其中密钥交换认证因以下优势成为企业首选:
对比维度 | 密码认证 | 密钥交换认证 |
安全性 | 密码通过网络明文传输,易被抓包截获;密码复杂度不足时易被暴力破解 | 基于非对称加密,仅公钥公开传输,私钥本地保管,无明文泄露风险 |
运维效率 | 每次登录需手动输入密码,无法适配自动化脚本 | 支持免密码登录,可集成到 Shell 脚本实现批量管理 |
权限控制 | 仅依赖密码,无法限制登录 IP,权限粒度粗 | 可绑定登录 IP,支持精细化授权 |
2.2 密钥交换原理(非对称加密体系)
SSH 密钥交换基于 “公钥 - 私钥” 非对称加密技术,整个流程无需传输密码,具体原理如下:
密钥对生成:客户端通过ssh-keygen工具生成一对密钥 —— 公钥(id_rsa.pub,可公开)和私钥(id_rsa,需设置密码保护并仅保存在客户端本地,不可泄露)。
公钥上传服务器:客户端将公钥追加到服务器目标用户的~/.ssh/authorized_keys文件中(该文件为 SSH 认证白名单,记录所有允许登录的客户端公钥)。
认证与连接建立:
客户端发起 SSH 连接请求,服务器生成随机数,用客户端公钥加密后发送给客户端;
客户端用本地私钥解密随机数,再用服务器公钥(默认内置)加密后回传服务器;
服务器验证解密结果,若与原始随机数一致,则认证通过,后续数据通过临时会话密钥加密传输。
2.3 基础配置步骤
在客户端本地生成一对儿密钥,输入 ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa,先分别解析一下这些参数
ssh-keygen:SSH 密钥生成工具
-t rsa:指定密钥类型为 RSA(目前推荐使用 -t ed25519更安全)
-P '':设置空密码(两个单引号之间无内容)
-f /root/.ssh/id_rsa:指定密钥保存路径(私钥 /root/.ssh/id_rsa,公钥会追加 .pub)
2.在完成后,我们在在客户端将公钥复制到要登录的远程主机的某用户的家目录下的特定文件中,输入:ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.0.0.250
这里输入yes
然后输入密码(第一次链接需要,后续不用)然后输入:ssh root@10.0.0.250连接要登入的主机
发现不用输入密码就完成了
3. 服务器初始化
服务器初始化是企业新服务器部署的基础流程,旨在统一系统环境、保障基础可用性与安全性,具体包含以下六大操作模块:
3.1 安装 yum 网络源
3.1.1 背景说明
yum是 CentOS 系列服务器的包管理工具,默认官方源位于国外,国内访问速度慢(常出现超时、下载中断)。企业需替换为国内优质镜像源(如阿里云、网易云),确保软件包下载高效稳定。
3.1.2 实操步骤
1.备份原有的源文件,以防万一
2.下载国内镜像源配置(以阿里云源为例,覆盖范围广、更新及时)输入:curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
清除旧缓存并生成新缓存输入: yum clean all && yum makecache
3.2 安装运维的必备工具
3.2.1 工具清单
运维需统一安装基础工具,确保所有服务器环境一致,提升运维效率,工具清单如下:
vim-enhanced # 加强版的vi编辑器
wget # 命令行下载工具
curl # 网络数据传输工具
telnet # 网络诊断工具
net-tools # 包含ifconfig等网络工具
bash-completion # 命令自动补全增强
lsof # 列出打开的文件
sysstat # 系统性能监控工具(包含iostat, sar等)
htop # 交互式进程查看器(比top更好用)
tree # 以树状图列出目录内容
git # 版本控制工具
unzip # 解压zip文件
lrzsz # 提供sz(下载)、rz(上传)命令,方便Xshell等终端传输文件
3.2.2 批量安装命令
yum install -y vim-enhanced wget curl telnet net-tools bash-completio lsof sysstat htop tree git unzip lrzsz
3.3 网络验证
3.3.1 验证目的
确保服务器网络通畅,可正常与局域网设备、外网服务通信,避免后续业务部署因网络问题中断。
3.3.2 实操步骤
1. 查看当前IP地址,确认网络接口已启动,输入ip addr show或者ifconfig
分阶段测试连通性:
测试局域网连通(ping 网关,验证内网可达)
测试外网连通(ping 公网域名,验证 DNS 解析与外网可达)
常见问题排查:
IP 配置错误 → 编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33,修改IPADDR(IP 地址)、NETMASK(子网掩码)、GATEWAY(网关),重启网络:systemctl restart network。
3.4 配置主机名及主机映射
3.4.1 配置主机名(按角色命名)
企业服务器需按业务角色命名(如 web、db、app),便于运维人员识别服务器用途,避免管理混乱。
临时生效(重启后失效):hostname web-01
永久生效(无需重启,重新登录即可刷新):hostnamectl set-hostname web-01
3.4.2 设置主机映射(加速内网访问)
主机映射通过本地文件/etc/hosts记录 IP 与主机名的对应关系,优先级高于 DNS 解析,可减少内网服务器间的 DNS 查询开销,提升访问速度。
编辑/etc/hosts文件:vim /etc/hosts 并添加主机名:10.0.0.251(你的主机ip地址)主机名
- 验证:在任意服务器上执行ping web-01,可直接解析到10.0.0.251。
3.5 时间同步(chronyd)
3.5.1 同步必要性
企业服务器时间不一致会导致严重问题:日志时间错乱(无法追溯故障时序)、分布式服务异常(如定时任务执行偏差、分布式事务超时)、证书校验失败(证书有效期基于时间判断)。需通过 chronyd 工具同步到标准时间源。
3.5.2 实操步骤
安装 chronyd:yum install -y chrony
启动服务并设置开机自启:systemctl start chronyd,systemctl enable chronyd
输入chronyc -a makestep强制与服务器同步,然后输入 date 查看时间状态
3.6 防火墙设置
3.6.1 防火墙选择
我们使用iptables来示例
3.6.2 实操步骤
1.停止并禁用firewalld,输入 systemctl stop firewalld 和 systemctl disable firewalld
2.安装并自启动 Iptables Services,输入yum install -y iptables-services 和 systemctl start iptables
3.设置默认策略
在添加任何允许规则之前,先设置最严格的默认策略:拒绝所有传入连接,允许所有传出连接,允许转发。最好在本地控制台操作。然后输入以下三步
iptables -P INPUT DROP 默认拒绝所有进来的流量
iptables -P FORWARD DROP 默认拒绝所有转发的流量
iptables -P OUTPUT ACCEPT 默认允许所有出去的流量
2.允许所有本地回环接口的通信,这是系统内部通信所必需的:输入
iptables -A INPUT -i lo -j ACCEPT
3.允许已建立的和相关联的连接通过这条规则至关重要!它允许对外请求的返回数据包进入,否则无法正常上网和使用大多数服务,输入:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
第 2步:添加具体的放行规则(按需开放)
1. 比如允许SSH连接 (端口22) - 这是远程管理的生命线,输入:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
然后就可以远程链接了
2.允许PING (ICMP协议),便于网络诊断:iptables -A INPUT -p icmp -j ACCEPT
3. 允许HTTP (80) 和 HTTPS (443)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
第 3 步:保存规则并重启服务
保存当前内存中的规则到 /etc/sysconfig/iptables 文件,输入: service iptables save
然后重启iptables服务,确保配置加载无误,可以看到我们的配置已经保存了下来
然后输入: systemctl status iptables 检查iptables服务状态
Linux 服务器初始化总结
本文档围绕 Linux 服务器初始化的核心需求,从安全机制、远程认证及基础配置三大维度展开,系统覆盖了企业级服务器初始化的关键环节,为服务器部署提供标准化参考。
在安全机制方面,SELinux 作为 Linux 内核级强制访问控制工具,通过 Enforcing、Permissive、Disabled 三种模式实现细粒度安全管控,生产环境推荐使用 Enforcing 模式,可通过getenforce查看模式、setenforce临时切换、修改配置文件永久调整,从内核层保障服务器资源不被越权访问。
远程认证环节,SSH 基于密钥交换的认证方式优势显著。相比密码认证,其通过非对称加密(公钥公开、私钥本地保管)避免密码泄露风险,支持免密码登录以适配自动化运维,还能绑定登录 IP 实现精细化授权。核心流程为客户端生成密钥对、上传公钥至服务器、通过密钥解密验证建立连接,是企业远程管理服务器的首选方案。
服务器初始化的六大基础配置模块,是保障服务器可用性与一致性的核心。其一,替换 yum 网络源为国内镜像(如阿里云),通过备份默认源、下载新源配置、清理缓存,解决官方源下载慢问题;其二,批量安装 vim、net-tools、lsof 等运维必备工具,统一服务器环境,提升运维效率;其三,通过查看网卡状态、ping 网关与公网域名验证网络,排查 IP 或 DNS 配置问题,确保网络通畅;其四,按业务角色配置主机名(如 web-01),并在/etc/hosts设置主机映射,减少 DNS 查询开销,加速内网访问;其五,使用 chronyd 工具同步时间,优先对接企业内部 NTP 源,保障服务器时间一致,避免日志错乱、服务异常;其六,基于 firewalld 配置防火墙,仅开放业务必需端口(如 SSH 22、Web 80/443),整体而言,Linux 服务器初始化通过安全机制加固、可靠远程认证及标准化基础配置,为后续业务部署奠定稳定、安全、高效的系统基础,是企业级 Linux 服务器运维的核心前置流程。