Otp Challenger技能使用说明
2026-03-30
新闻来源:网淘吧
围观:8
电脑广告
手机广告
一次性密码身份验证技能
在执行敏感操作前,要求用户提供最新的双重身份验证。
使用场景
在以下操作前要求进行一次性密码验证:

- 部署命令(
kubectl apply、terraform 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客户端IDYUBIKEY_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)
- 安全注意事项
- 故障排除
- 示例
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~