网淘吧来吧,欢迎您!

Otp Challenger技能使用说明

2026-03-30 新闻来源:网淘吧 围观:8
电脑广告
手机广告

一次性密码身份验证技能

在执行敏感操作前,要求用户提供最新的双重身份验证。

使用场景

在以下操作前要求进行一次性密码验证:

Otp Challenger

  • 部署命令(kubectl applyterraform apply
  • 财务操作(转账、支付审批)
  • 数据访问(个人身份信息导出、客户数据)
  • 管理操作(用户修改、权限变更)

脚本

verify.sh

验证用户的一次性密码代码并记录验证状态。

./verify.sh <user_id> <code>

参数:

  • user_id- 用户标识符(例如:电子邮件、用户名)
  • code- 6位TOTP或44字符YubiKey一次性密码

退出代码:

  • 0- 验证成功
  • 1- 验证码无效或请求频率受限
  • 2- 配置错误(缺少密钥、格式无效)

成功时输出:

✅ OTP verified for <user_id> (valid for 24 hours)
✅ YubiKey verified for <user_id> (valid for 24 hours)

失败时输出:

❌ Invalid OTP code
❌ Too many attempts. Try again in X minutes.
❌ Invalid code format. Expected 6-digit TOTP or 44-character YubiKey OTP.

check-status.sh

检查用户的验证是否仍然有效。

./check-status.sh <user_id>

退出代码:

  • 0- 用户具有有效(未过期)的验证
  • 1- 用户未验证或验证已过期

输出:

✅ Valid for 23 more hours
⚠️ Expired 2 hours ago
❌ Never verified

generate-secret.sh

生成新的TOTP密钥并附带二维码(需要安装qrencode)。

./generate-secret.sh <account_name>

使用模式

#!/bin/bash
source ../otp/verify.sh

if ! verify_otp "$USER_ID" "$OTP_CODE"; then
  echo "🔒 This action requires OTP verification"
  exit 1
fi

# Proceed with sensitive action

配置

TOTP所需配置:

  • OTP_SECRET- Base32格式的TOTP密钥

YubiKey所需配置:

  • YUBIKEY_CLIENT_ID- Yubico API客户端ID
  • YUBIKEY_SECRET_KEY- Yubico API密钥(base64编码)

可选配置:

  • OTP_INTERVAL_HOURS- 验证有效期(默认:24小时)
  • OTP_MAX_FAILURES- 触发速率限制前的失败尝试次数(默认:3次)
  • OTP_STATE_FILE- 状态文件路径(默认:memory/otp-state.json

可通过环境变量或配置文件设置:~/.openclaw/config.yaml

security:
  otp:
    secret: "BASE32_SECRET"
  yubikey:
    clientId: "12345"
    secretKey: "base64secret"

代码格式自动检测

脚本自动识别代码类型:

  • 6位数字123456)→ 执行TOTP验证
  • 44个ModHex字符(cccccc...) → YubiKey验证

ModHex字母表:cbdefghijklnrtuv

状态文件

验证状态存储在memory/otp-state.json中。仅包含时间戳,不包含密钥。

用户文档

请参阅README.md以获取:

  • 安装说明
  • 设置指南(TOTP和YubiKey)
  • 安全注意事项
  • 故障排除
  • 示例

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第326345名访客 今日有221篇新文章/评论