用 sshd -t 在重启前校验 SSH 配置

对 sshd 配置做干跑检查,防止一个拼写错误把你锁在服务器外面——每次 systemctl reload sshd 前的标配动作。

Linuxsshd SSH 服务OpenSSH校验配置中风险
执行 sudo sshd -t 语法检查 /etc/ssh/sshd_config(无输出即通过),执行 sudo sshd -T 可打印最终生效的完整配置。

01命令

命令
$ sudo sshd -t
sudo sshd -T | grep -i permitrootlogin

02作用说明

sshd -t 会解析配置文件并检查主机密钥,任何非法指令都会以非零状态退出并给出明确错误——可以提前抓住那个会导致重载后守护进程无法启动的拼写错误。扩展模式 sshd -T 会输出应用所有 Match 块之后的完整生效配置,用来确认 PermitRootLogin 或端口修改是否真的生效。把它纳入“修改 → 测试 → 重载”的固定流程。

03风险

风险中风险
使用条件openssh-server; run as root since sshd requires host key access
!注意: sshd -t 只查语法,不查锁死逻辑:一份语法合法但 PermitRootLogin no 加上错误 AllowUsers 的配置照样能把人锁在外面——关掉当前会话前先用第二个会话验证。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

  • sshd(8) — Linux manual page
    man7.org · technical · 2026-09-17
    依据: sshd man page: '-t Test mode. Only check the validity of the configuration file and sanity of the keys' and '-T extended test mode printing effective config'.

最后验证: 2026-09-17 · 分类: 安全与隐私

06相关方案