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 端口進行加固的用戶,這是一個基礎且必要的組件。

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

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

小夜