关闭非必要TTY和SSH、禁用串口控制台是Linux基础安全加固关键措施:通过修改logind.conf限制VT数量,停用sshd或配置密钥登录与IP白名单,并从GRUB移除console=ttyS0参数。

关闭控制台远程访问和禁用不必要虚拟终端,是提升 Linux 系统基础安全的重要一步。默认情况下,多数发行版会启用多个 TTY(如 Ctrl+Alt+F1~F6)并允许 SSH 远程登录,若无实际需要,这些入口可能成为攻击面。
停用非必需的虚拟终端(TTY)
系统通常默认启用 6 个本地图形/字符终端(tty1–tty6),而多数桌面环境仅需 tty1(图形界面)或 tty2(备用终端),其余可安全禁用。
- 编辑 /etc/systemd/logind.conf,取消注释并修改:
NAutoVTs=2(只保留 tty1 和 tty2)
ReserveVT=2(指定最后保留的 VT 号) - 执行 sudo systemctl restart systemd-logind 生效
- 验证:按 Ctrl+Alt+F3~F6 应无法切换,仅 F1(图形)和 F2(终端)可用
限制或禁用 SSH 远程控制台访问
若服务器无需远程命令行管理,应彻底关闭 SSH;若需保留,须严格约束访问方式。
- 完全禁用 SSH:
sudo systemctl stop sshd
sudo systemctl disable sshd - 若必须启用,建议:
• 修改 /etc/ssh/sshd_config,设置 PermitRootLogin no、PasswordAuthentication no(改用密钥)
• 添加 AllowUsers youruser 或 AllowGroups admin 限定账户
• 配合防火墙(如 ufw)仅放行可信 IP:
sudo ufw allow from 192.168.1.100 to any port 22
禁用串口控制台(适用于云/物理服务器)
部分系统(尤其是云平台或带 BMC 的服务器)默认启用串口控制台(如 ttyS0),可能暴露内核日志或登录提示。
- 检查是否启用:
dmesg | grep -i "console.*ttyS" 或查看 /proc/cmdline - 临时禁用启动参数中的串口控制台:
编辑 GRUB 配置(/etc/default/grub),在 GRUB_CMDLINE_LINUX 中移除类似 console=ttyS0,115200n8 的项 - 更新 GRUB:
Ubuntu/Debian: sudo update-grub
RHEL/CentOS: sudo grub2-mkconfig -o /boot/grub2/grub.cfg
验证与加固建议
完成配置后,务必验证效果并防止误操作导致失联。
- 重启前,确保至少一个有效本地终端(tty1/tty2)和一种可用登录方式(如当前图形会话或已配置的 SSH 密钥)
- 使用 loginctl list-sessions 查看活跃会话,确认无意外残留远程连接
- 运行 ss -tlnp | grep ':22' 检查 SSH 是否按预期监听
- 对生产环境,建议先在测试机验证,再批量部署










