首页/安全/安全加固速查/SSH 强制“密钥 + 动态口令”组合认证
口令与认证策略55 条

SSH 强制“密钥 + 动态口令”组合认证

用 AuthenticationMethods 精确声明多因素顺序:publickey,keyboard-interactive 表示两关都要过,而非二选一。

安全加固速查安全更新于 2026-10-13

逗号与空格的含义不同

OpenSSH 的 AuthenticationMethods 用来声明“需要哪几种认证以及顺序”。写 publickey,keyboard-interactive 表示两关都必须通过;写 publickey keyboard-interactive(中间是空格)则表示两种方式任选其一即可。这个差别是把密钥与动态口令组合成真正双因素的关键:若写成空格分隔,用户只提供密钥就能登录,等于 MFA 从未启用。

基本信息

适用平台Linux(OpenSSH 8.x 及主流版本)
核心配置AuthenticationMethods publickey,keyboard-interactive
配合项PasswordAuthentication no;KbdInteractiveAuthentication yes
验证命令sshd -T | grep -i authenticationmethods
加固项特权入口双因素认证

典型使用场景

  • 特权入口加固:管理员与运维账号登录必须密钥加动态口令
  • 合规要求:等保对重要用户实行两种或以上组合鉴别
  • 外包与临时账号:结束合作后即使密钥泄漏也无法单独登录
  • 跳板机加固:堡垒机前置双因素,后置按角色授权
  • 应急收紧:漏洞爆发期临时要求双因素再进管理网段

服务端配置与验证

服务端配置与验证
grep -E 'AuthenticationMethods|KbdInteractive|PasswordAuth' /etc/ssh/sshd_config
# 建议配置:
# AuthenticationMethods publickey,keyboard-interactive
# PasswordAuthentication no
# KbdInteractiveAuthentication yes
sudo sshd -t && sudo systemctl reload sshd      # 先校验语法再重载
sshd -T | grep -i authenticationmethods         # 确认最终生效值
ssh -o PreferredAuthentications=password test@host   # 应被拒绝
ssh -o PreferredAuthentications=publickey test@host  # 应继续要求第二因素

取值写法对照

写法含义风险
publickey,keyboard-interactive两种方式都必须通过双因素真正生效
publickey keyboard-interactive两者任选其一只提供密钥即可登录,等于没启用 MFA
publickey,password密钥加系统口令口令须允许认证,通常不推荐
Match 块内单独声明仅对特定用户或网段生效豁免范围过大等于没做
密钥加动态口令的组合下,即使私钥被复制也难以登录:代价是每次登录都要动态码,自动化场景应为服务账号配置独立 Match 规则并记录理由。

落地要点

  • 变更前先发客户端升级通告:老客户端不支持 keyboard-interactive 会直接登录失败
  • 服务账号与自动化流水线走独立 Match 块,避免被双因素挡住导致发布失败
  • 重载前保留一个已登录会话,配置写错时不至于完全失联
  • 把生效值写进基线报告:sshd -T 的输出才是事实,配置文件里写了不等于生效
  • 定期复核 Match 豁免清单,豁免往往是安全洼地
误把空格当逗号是高频事故:配置看起来像启用了双因素,实际任选其一,测评与审计都会判为未落实。

易错点

  • 用空格分隔写 AuthenticationMethods:任选其一即可通过,双因素形同虚设
  • 为自动化脚本开大口子:Match 豁免范围过宽,专用账号变成绕过 MFA 的通道
  • 忘记 KbdInteractiveAuthentication:只开 AuthenticationMethods 时第二因素无法完成,全员被挡在门外
  • 配置未用 sshd -T 复核:写错的文件不会报错,问题在用户登录失败时才暴露

数据来源与参考

  • man 5 sshd_config:AuthenticationMethods
  • NIST SP 800-63B:AAL2 要求

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌