Debian 新手运维最常踩的 15 个坑
Debian 服务器稳定是优势,但也因为它的“保守”哲学和严格政策,新手很容易在下面这些地方翻车。按严重程度和出现频率排序。
高危级(容易直接导致服务器被黑、崩溃或无法远程登录)
- 长期用 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
- 没装 fail2ban 或 ufw/nftables,只开 22 端口就暴露公网 机器人 24 小时扫端口,密码弱或没改默认端口一样会被爆破。 正确做法:
- apt install fail2ban(默认保护 SSH)
- 用 ufw:ufw allow OpenSSH && ufw enable
- 或 nftables 只开必要端口(参考前文防火墙示例)
- 升级后没重启(尤其是内核升级) 安全更新装了新内核,但旧内核还在跑,导致漏洞没修复。 正确做法:升级后看 uname -r 是否变化,变化了就 reboot。
- 直接用 sid / testing 做生产服务器 名字叫 unstable/sid,新手以为“最新=最好”,结果依赖链断裂、服务崩溃。 正确做法:生产一律用 stable(trixie),追新用 apt pinning 只拉个别包。
中危级(常见导致服务挂、空间爆、权限乱)
- 忘了 unattended-upgrades,长期不更新 漏洞不修,迟早出事。 正确做法: apt install unattended-upgrades apt-listchanges → dpkg-reconfigure unattended-upgrades(选 Yes)
- /var/log 爆满,磁盘占 100% journald 默认无限增长,或 cron 任务输出没重定向。 正确做法:
- journalctl --vacuum-time=2weeks
- 配置 /etc/systemd/journald.conf:SystemMaxUse=500M
- cron 任务加 >/dev/null 2>&1 或重定向到 logrotate 管理的文件
- /var/cache/apt/archives/ 长期不清理 几百 GB 的 deb 包堆积。 正确做法:apt autoclean && apt autoremove 或定期 apt clean
- 权限乱设,导致服务启动失败 最典型:web 目录给了 777,或 chown 错了用户。 正确做法:
- Nginx/Apache:chown -R www-data:www-data /var/www
- 目录 755,文件 644
- 共享目录用组 + setgid:chmod g+s /shared/dir
- 升级时混用 apt upgrade 和 full-upgrade 依赖冲突卡死,或内核没升。 正确做法:日常 apt update && apt upgrade,大版本/问题解决时用 apt full-upgrade
- 改了 /etc/ssh/sshd_config 后没测试就 logout 配置错 → 自己把自己锁外面。 正确做法:改配置前开另一个终端测试:sshd -t(语法检查)
低危但超烦级(新手最常问的“为什么坏了”)
- locale / 时区问题(psql、cron、日志乱码) 正确做法: apt install locales → dpkg-reconfigure locales(选 zh_CN.UTF-8) timedatectl set-timezone Asia/Hong_Kong
- 没装 sudo,默认没 vim/curl/tree/htop Debian netinstall/minimal 镜像精简到极致。 正确做法:一键装常用工具: apt install sudo vim curl wget htop tree fail2ban
- apt update 报 key 过期 / 签名无效 源密钥过期(尤其是第三方源)。 正确做法:用官方方式更新密钥,或直接换源(清华/阿里云镜像)
- grub 引导问题(升级内核后进不去系统) 无头服务器最怕。 正确做法:用 rescue mode 或 live USB 进系统,update-grub
- 以为 Debian 软件“太旧”就到处加第三方源 结果依赖冲突、系统不稳定。 正确做法:优先用 backports(apt install -t trixie-backports xxx),再考虑 flatpak / appimage / 源码编译
新手运维快速自救 Checklist
当系统出问题时,按顺序试:
- journalctl -b -p err(本次启动错误)
- dmesg | tail -50(内核/hardware 错误)
- df -h + du -sh /* | sort -hr(磁盘爆满)
- free -h + top/htop(内存/CPU)
- ss -tuln(端口监听)
- apt update && apt list --upgradable(看看有没有升级卡住)
- tail -f /var/log/auth.log(登录/权限问题)
- systemctl status 服务名(服务挂了)
记住一句话:Debian 服务器的核心是“稳”而不是“新”。90% 的问题都出在“急着追新”和“安全配置没做好”上。
把上面这些坑都避开,你已经比 80% 的新手运维稳多了。
版权声明:
作者:后浪云
链接:https://idc.net/help/442476/
文章版权归作者所有,未经允许请勿转载。
THE END
