DeepSeek Harness Web 认证插件 dsh-auth

前言

DeepSeek Harness (DSH) 的 Web 界面是管理智能体和配置系统的入口。对于直接暴露在公网或局域网中的 DSH 实例,增加访问控制是必要的。dsh-auth 插件为 DSH Web 提供了基于用户名和密码的认证网关,解决了直接访问端口可能带来的安全隐患。

插件简介

这是由维护者 optttt 发布的认证插件,遵循 MIT 许可证。它通过在 Web 端增加一层登录保护,确保只有授权用户才能访问 DSH 管理界面。

安装与启用

通过 DSH 的包管理器安装该插件。

dsh plugin --profile web add @tyler9061/dsh-auth

安装完成后需要重启 dsh web。

核心功能

该插件提供了以下主要功能:

  1. 登录认证:访问 Web 界面需要提供用户名和密码。
  2. 空闲自动登出:会话若长时间无操作,系统会自动登出。
  3. 会话过期:支持配置会话的最大存活时间。
  4. 单点登录:开启后,新登录会强制登出其他已存在的会话。
  5. UI 设置:在 Web 界面的设置 > Auth 中修改凭据和过期时间。
  6. 命令行操作:提供命令行工具重置密码和修改用户名。
  7. 登录历史:记录最近的成功登录信息(IP、时间、地理位置)。

典型用法

首次安装启动后,控制台会打印默认的用户名和密码(默认用户名为 admin)。访问 Web UI 时会自动跳转至 /login 页面。

重置密码:
- 打印新的随机密码:

dsh web p
  • 设置指定密码:
dsh web p mypass

修改用户名:
用户名限制为 3-32 个字符,支持字母、数字、下划线和中划线。

dsh web u newname

在 Web 界面进入“设置 > Auth”菜单,可以手动修改用户名、密码、空闲登出时间、会话最大存活时间,以及管理单点登录状态和查看登录历史。

网络访问与反向代理

插件运行在反向代理模式,配置细节如下:

  • 本地绑定:插件内部的真实服务仅绑定到 127.0.0.1。
  • 代理端口:插件在 0.0.0.0:<lanPort> 上运行反向代理,默认端口为 3080。可以通过环境变量 DSH_AUTH_PORT 覆盖此端口。
  • LAN 访问:由于反向代理的存在,所有 /api RPC 接口(包括设置、文件、SCM 等)都可以通过 LAN 客户端访问。但是,认证网关仍然保护所有内容,未登录无法操作。
  • WebSocket 支持:代理正确处理 WebSocket 升级,确保连接正常建立。

安全注意事项

  1. 生产环境:强烈建议在生产环境中使用 HTTPS。
  2. 密钥丢失:插件的加密密钥存储在 $DSH_HOME/auth.key,权限为 0600。如果该文件丢失,无法解密数据,必须使用 dsh web p 命令重置密码。
  3. 初始密码:首次登录后,应立即修改默认的 admin 密码。

总结

dsh-auth 为 DSH Web 提供了标准的登录认证、会话管理和登录审计能力。通过命令行和 Web 界面双重操作方式,兼顾了便捷性与安全性。对于希望对 DSH Web 端口进行加固的用户,这是一个基础且必要的组件。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜