为什么先抓生效配置快照
sshd -T 输出运行中 sshd 实际生效的完整配置,包含默认值与所有片段配置叠加后的最终结果,比逐行读配置文件更接近事实。事故后的主机配置常被修改,先抓一份快照再排查,可以保住事件时刻的策略状态,也避免因文件内容与运行状态不一致而产生误判。快照与登录日志一并归档后,无论配置后来怎么改,都能复现当时的策略并解释日志中的现象。
基本信息
| 命令 | sshd -T(通常需要 root 才能输出完整结果) |
|---|---|
| 输出内容 | 生效的纯文本配置,不含私钥等密钥材料 |
| 语法检查 | sshd -t,改配置后先检查再重载 |
| 归档命名 | 带日期时间的文件名,便于时间线引用 |
典型使用场景
- 到达现场的第一时间固化管理与远程登录策略
- 解释日志中出现的登录方式与配置文件描述不一致
- 对比整改前后差异,验证加固项是否真正生效
- 为报告提供可复算的策略依据,而不是引用截图
- 排查片段配置与主配置文件冲突造成的意外放行
留存与比对
留存与比对
sshd -T > /mnt/ev/sshd_effective_$(date +%Y%m%d%H%M).txt # 抓快照
sshd -T | grep -E '^(permitrootlogin|passwordauthentication|maxauthtries|allowtcpforwarding)'
wc -l /mnt/ev/sshd_effective_*.txt # 确认内容完整非空
sshd -t && sudo systemctl reload sshd # 改配置后先语法检查
diff /mnt/ev/sshd_effective_before.txt /mnt/ev/sshd_effective_after.txt | head # 整改前后比对关键项读法
| 配置项 | 常见取值 | 判读要点 |
|---|---|---|
| PermitRootLogin | yes / prohibit-password / no | 允许口令 root 登录风险最高 |
| PasswordAuthentication | yes / no | 决定能否用口令认证 |
| MaxAuthTries | 整数 | 过大值有利于口令暴力尝试 |
| AllowTcpForwarding | yes / no / local | 影响隧道与端口转发能力 |
sshd -T 反映的是运行中进程的配置,若修改文件后没有 reload,输出仍是旧值;判断时要明确快照对应的是哪一次重载之后的策略。
输出为纯文本且不含密钥材料,可以安全归档与比对;把它与登录日志放在同一份证据包里,报告引用时直接给文件编号即可。
在主机上执行 reload 属于改变现场的操作,取证阶段若仅为留存策略,只需要 sshd -T 读取即可,不要顺手重载服务。