Debian 新手运维最常踩的 15 个坑

Debian 服务器稳定是优势,但也因为它的“保守”哲学和严格政策,新手很容易在下面这些地方翻车。按严重程度出现频率排序。

高危级(容易直接导致服务器被黑、崩溃或无法远程登录)

  1. 长期用 root 登录 SSH + 密码登录没改 最常见被暴力破解的方式。 正确做法
    • 安装后立即创建普通用户并加 sudo 组:adduser yourname && usermod -aG sudo yourname
    • 编辑 /etc/ssh/sshd_config:PermitRootLogin no + PasswordAuthentication no
    • 用密钥登录:ssh-keygen -t ed25519 → ssh-copy-id yourname@ip
    • 重启 ssh:systemctl restart ssh
  2. 没装 fail2ban 或 ufw/nftables,只开 22 端口就暴露公网 机器人 24 小时扫端口,密码弱或没改默认端口一样会被爆破。 正确做法
    • apt install fail2ban(默认保护 SSH)
    • 用 ufw:ufw allow OpenSSH && ufw enable
    • 或 nftables 只开必要端口(参考前文防火墙示例)
  3. 升级后没重启(尤其是内核升级) 安全更新装了新内核,但旧内核还在跑,导致漏洞没修复。 正确做法:升级后看 uname -r 是否变化,变化了就 reboot。
  4. 直接用 sid / testing 做生产服务器 名字叫 unstable/sid,新手以为“最新=最好”,结果依赖链断裂、服务崩溃。 正确做法:生产一律用 stable(trixie),追新用 apt pinning 只拉个别包。

中危级(常见导致服务挂、空间爆、权限乱)

  1. 忘了 unattended-upgrades,长期不更新 漏洞不修,迟早出事。 正确做法: apt install unattended-upgrades apt-listchanges → dpkg-reconfigure unattended-upgrades(选 Yes)
  2. /var/log 爆满,磁盘占 100% journald 默认无限增长,或 cron 任务输出没重定向。 正确做法
    • journalctl --vacuum-time=2weeks
    • 配置 /etc/systemd/journald.conf:SystemMaxUse=500M
    • cron 任务加 >/dev/null 2>&1 或重定向到 logrotate 管理的文件
  3. /var/cache/apt/archives/ 长期不清理 几百 GB 的 deb 包堆积。 正确做法:apt autoclean && apt autoremove 或定期 apt clean
  4. 权限乱设,导致服务启动失败 最典型:web 目录给了 777,或 chown 错了用户。 正确做法
    • Nginx/Apache:chown -R www-data:www-data /var/www
    • 目录 755,文件 644
    • 共享目录用组 + setgid:chmod g+s /shared/dir
  5. 升级时混用 apt upgrade 和 full-upgrade 依赖冲突卡死,或内核没升。 正确做法:日常 apt update && apt upgrade,大版本/问题解决时用 apt full-upgrade
  6. 改了 /etc/ssh/sshd_config 后没测试就 logout 配置错 → 自己把自己锁外面。 正确做法:改配置前开另一个终端测试:sshd -t(语法检查)

低危但超烦级(新手最常问的“为什么坏了”)

  1. locale / 时区问题(psql、cron、日志乱码) 正确做法: apt install locales → dpkg-reconfigure locales(选 zh_CN.UTF-8) timedatectl set-timezone Asia/Hong_Kong
  2. 没装 sudo,默认没 vim/curl/tree/htop Debian netinstall/minimal 镜像精简到极致。 正确做法:一键装常用工具: apt install sudo vim curl wget htop tree fail2ban
  3. apt update 报 key 过期 / 签名无效 源密钥过期(尤其是第三方源)。 正确做法:用官方方式更新密钥,或直接换源(清华/阿里云镜像)
  4. grub 引导问题(升级内核后进不去系统) 无头服务器最怕。 正确做法:用 rescue mode 或 live USB 进系统,update-grub
  5. 以为 Debian 软件“太旧”就到处加第三方源 结果依赖冲突、系统不稳定。 正确做法:优先用 backports(apt install -t trixie-backports xxx),再考虑 flatpak / appimage / 源码编译

新手运维快速自救 Checklist

当系统出问题时,按顺序试:

  1. journalctl -b -p err(本次启动错误)
  2. dmesg | tail -50(内核/hardware 错误)
  3. df -h + du -sh /* | sort -hr(磁盘爆满)
  4. free -h + top/htop(内存/CPU)
  5. ss -tuln(端口监听)
  6. apt update && apt list --upgradable(看看有没有升级卡住)
  7. tail -f /var/log/auth.log(登录/权限问题)
  8. systemctl status 服务名(服务挂了)

记住一句话:Debian 服务器的核心是“稳”而不是“新”。90% 的问题都出在“急着追新”和“安全配置没做好”上。

把上面这些坑都避开,你已经比 80% 的新手运维稳多了。

THE END