运维新手零基础入门:7步完成服务器安全基础配置

前置准备


开始之前,你需要准备好以下环境:



  • 一台云服务器(推荐腾讯云或阿里云的最低配ECS,系统选Ubuntu 22.04或CentOS 7+)。

  • SSH客户端:Windows用户推荐用 PuttyTermius,Mac/Linux用户直接使用终端。

  • 一个非root用户:*新手建议不要在root下操作,容易误删系统文件*。操作步骤里会教你创建。

  • 已开放端口:提前在云服务商安全组/防火墙放行 22(SSH)、80(HTTP)、443(HTTPS) 端口。


注意:以下所有命令基于Ubuntu 22.04,如果你用CentOS,请将 apt 替换为 yum

分步操作


第一步:更新系统包


连接服务器后,先更新软件源和现有软件包:


sudo apt update && sudo apt upgrade -y

这一步可以修复很多已知漏洞,是运维的基础步骤。


第二步:创建普通用户并赋予sudo权限


sudo adduser yourname          # 创建用户,按提示设置密码
sudo usermod -aG sudo yourname # 将用户加入sudo组

之后退出root,使用新用户登录。


第三步:配置SSH密钥登录并禁止密码登录


在本地电脑生成密钥对(如果还没有):


ssh-keygen -t ed25519 -C "your_email"   # 一路回车生成密钥

将公钥复制到服务器:


ssh-copy-id yourname@服务器IP

登录测试:ssh yourname@服务器IP

确认密钥能登录后,修改SSH配置文件:


sudo nano /etc/ssh/sshd_config

找到以下两行,修改为:


PasswordAuthentication no
PubkeyAuthentication yes

重启SSH服务:


sudo systemctl restart sshd

第四步:安装并配置防火墙(UFW)


sudo apt install ufw -y
sudo ufw allow 22/tcp # 先放行SSH,防止锁死
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw --force enable # 启用防火墙
sudo ufw status # 查看状态应为 active

第五步:安装fail2ban防止暴力破解


sudo apt install fail2ban -y
sudo systemctl enable fail2ban --now
sudo fail2ban-client status # 检查运行状态
sudo fail2ban-client status sshd # 查看SSH监狱状态

默认配置已经保护SSH,你可以根据日志调整封禁时间。


第六步:同步系统时间(NTP)


sudo apt install chrony -y
sudo systemctl enable chrony --now
sudo chronyc sources -v # 验证时间源同步情况

时间不同步会导致认证、日志等异常。


第七步:可选——修改SSH默认端口(进阶)


编辑 /etc/ssh/sshd_config

#Port 22 改为 Port 2222

然后 sudo systemctl restart sshd记得先在防火墙放行新端口

再移除22端口规则。


避坑指南



  • sudoers文件写错导致用户无法sudo:如果执行 sudo 提示 permission denied,需要用root账号检查 /etc/sudoers 文件,确保 %sudo ALL=(ALL:ALL) ALL 这一行存在且未被注释。如果完全无法切回root,可以通过云服务商后台的VNC或救援模式修复。

  • 防火墙忘记放行SSH:开启UFW前务必先执行 sudo ufw allow 22,否则下一命令 sudo ufw enable 会立刻断开当前SSH连接。如果已经断开,用云服务商Web终端连接后删除UFW规则。

  • SSH密钥权限不对:服务器上 .ssh 目录权限应为700,authorized_keys 文件权限应为600。使用以下命令修正:


chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

效果验证


完成上述步骤后,按以下清单验证你的运维成果:



  1. SSH密钥登录:断开当前会话,再次连接,不应该弹出密码输入提示。

  2. 防火墙状态:执行 sudo ufw status,输出应该包含 Status: active 和22、80、443端口的 ALLOW 规则。

  3. fail2ban保护:执行 sudo fail2ban-client status sshd,显示 Total failed: 0(初始状态)。你可以故意输错几次密码,查看 ban 数量是否增加。

  4. 时间同步:使用 date 命令查看当前时间是否与本地一致。

  5. 安全登录:尝试用root用户和密码直接SSH,应该被拒绝。


高频问题解答


问题1:忘记root密码怎么办?

答:通过云服务商控制台的“重置密码”功能,或使用救援模式挂载系统后修改 /etc/shadow 文件。更推荐一开始就使用普通用户+sudo,避免需要root密码。


问题2:SSH连接提示 “Permission denied (publickey)”

答:检查三点:① 本地是否使用了正确的私钥;② 服务器端 authorized_keys 文件中是否有你的公钥;③ 服务器 .ssh 目录和文件权限是否正确(参见避坑指南)。


问题3:安装fail2ban后网站访问变慢?

答:一般是日志量过大导致。可以编辑 /etc/fail2ban/jail.local(没有则新建)调整 findtimemaxretry 参数,并设置更短的日志清理周期。


最后总结


如果你正在处理运维,建议先按本文步骤完整执行,再根据自己的环境做微调;

遇到异常时优先回看避坑和高频问题部分。

这套基础配置能抵御绝大多数初级攻击,是运维入门的必备技能。

分享到:
上一篇
宝塔面板11.7.0一键安装教程
下一篇
Docker手动安装Linux实战:从下载到运行容器的完整指
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意