首页 / 服务器运维 / Linux服务器安全加固与SSH配置

Linux服务器安全加固与SSH配置实战:从0封死高危入口,顺手把登录体验也调顺

Roxi
Roxi 加速器 — 稳定·快速·安全
全球节点覆盖,支持所有主流平台,一键连接无需配置。新用户免费试用。
立即体验 →

开场:先别急着改配置,先看你现在是不是“裸奔”

3x效率提升60%成本降低99.9%可用性200+合作伙伴

哈喽兄弟们,今天这期我直接上手给你演示:Linux 服务器安全加固与 SSH 配置,到底怎么做才不踩坑。OK so,先别一上来就改端口、关密码登录,先在屏幕上把现状摸清楚,不然你很容易把自己锁外面。

我现在假设你手上是一台刚装好的 Ubuntu/Debian 或 CentOS/RHEL 服务器。先执行这几个命令,看 SSH 当前状态:sudo systemctl status ssh(Debian/Ubuntu)或者 sudo systemctl status sshd(CentOS/RHEL),再看监听端口:ss -tlnp | grep ssh。如果你已经在公网暴露 22 端口,且允许密码登录,那就是最常见的攻击入口。

我实际测试过一台 1 vCPU/1GB 的云服务器,开机 10 分钟内就能在 /var/log/auth.log 或 /var/log/secure 里看到来自不同 IP 的爆破尝试。别小看这个,SSH 配置不当,机器会先被“撞门”。

第一章:SSH 基础加固,先把门锁换掉

接下来我们做最核心的四步,都是免费且原生可用的方案,适合大多数人先落地:

  1. 创建普通用户:adduser deploy,然后给它 sudo 权限:usermod -aG sudo deploy(或 wheel 组)。不要长期用 root 直登。
  2. 生成密钥:在本地执行 ssh-keygen -t ed25519 -C "yourname@laptop",然后上传公钥:ssh-copy-id deploy@服务器IP。
  3. 编辑 SSH 配置:sudo nano /etc/ssh/sshd_config,把 PermitRootLogin no、PasswordAuthentication no、PubkeyAuthentication yes 写进去;如果你要改端口,比如 2222,就加 Port 2222。
  4. 重启前先检查语法:sudo sshd -t,没报错再 sudo systemctl restart sshd。

Now watch this:我把密码登录关掉后,再从另一台机器测试,密码直接拒绝,只能走密钥。这个变化非常直观,能立刻把常见的撞库脚本挡在门外。

很多人会搜“linux服务器安全加固教程”或者“ssh密钥登录怎么用”,其实本质就是三件事:减少暴露面、减少可猜测口令、减少 root 直连。你只要把这三点做掉,风险就会少一大截。

第二章:防火墙、限速、失败锁定,别只靠 SSH 一层防线

📊STEP 1环境搭建✅STEP 2编码实现📋STEP 3测试验证⚙️STEP 4部署上线

OK so,SSH 只是门,门外还得有院墙。接下来上防火墙和失败锁定。Ubuntu 可以用 UFW:sudo ufw allow 2222/tcp、sudo ufw allow 80/tcp、sudo ufw enable;CentOS/RHEL 更常见的是 firewalld:sudo firewall-cmd --permanent --add-port=2222/tcp,然后 sudo firewall-cmd --reload。

再加 Fail2ban,专治 SSH 暴力尝试。安装后创建 jail 配置,重点是 sshd 这一段:多次失败后自动封禁 IP。我的实测里,设置为 5 次失败、封 10 分钟,日志里同一来源连续爆破就会被挡住,CPU 占用也不会明显抖动。

你还可以顺手关掉几个常见风险项:ChallengeResponseAuthentication no、X11Forwarding no、AllowUsers deploy。如果你团队里只允许几个固定账号登录,这一招很实用,属于“白名单思路”。

如果你在找“Linux服务器安全加固步骤”或者“SSH配置教程”,记住一个判断标准:改完后,正常登录要更麻烦一点,异常登录要更难一点。这才是安全加固,不是单纯改个端口图心理安慰。

第三章:怎么验证你真的加固成功了

接下来别靠感觉,直接验收。你可以按这套顺序检查:

  • 用第二个终端执行:ssh -p 2222 deploy@服务器IP,确认密钥能登录。
  • 故意输入错密码 5 次,看 Fail2ban 是否封禁:sudo fail2ban-client status sshd。
  • 确认 root 不能直登:ssh root@服务器IP 应该被拒绝。
  • 扫描端口:nmap -Pn 服务器IP,确认只有必要端口开放。

我给你一个很实用的对比:加固前,日志里每分钟都能刷出一串失败登录;加固后,失败尝试会明显减少,而且你只开放业务需要的端口。通常从“公网裸露”到“最小暴露面”,配置时间 10 到 20 分钟就够了。

最后提醒一句:如果你想继续研究“服务器运维安全配置”“ssh端口修改怎么改”这类内容,先把备份做了,再改 SSH 主配置。你可以先开一个备用会话,或者保留云厂商控制台的救援入口,避免把自己锁死。至于更省事的远程访问方案,官方工具、免费自建方案都能用;如果你后面想看一个现成选项,也可以自己去 roxi.cc 看看,和手动加固方案对照着选。好了,这期如果帮到你,评论区打个“已加固”,我下一期接着给你做 Linux 日志审计实战。