SSH 2FA / TOTP

NK 给客户机器 SSH 一键加 2FA + fail2ban。所有付费版含。

流程

  1. 「SSH 安全」启用 2FA
  2. NK 配 PAM (/etc/pam.d/sshd) + sshd_config
  3. 客户扫 QR 码到 Google Authenticator
  4. 后续登录:密码 + 6 位 code
  5. 失败 N 次锁 user(配合 fail2ban)

PAM 配置踩坑

  • auth required pam_google_authenticator.so 放在 common-auth 之前
  • 禁用 @include common-auth 防两遍密码验证
  • 首次启用前用 nullok 让没 .google_authenticator 用户跳过
  • sshd_config AuthenticationMethods publickey,keyboard-interactive

Fail2ban

5min 内 SSH 失败 5 次 → 封 IP 24h。1h 失败 50 次 → 永封。白名单办公网。