dsh-auth-tailscale
在终端中运行以下命令:
dsh plugin install sperictao/dsh-auth-tailscale
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 终端中运行 dsh plugin install sperictao/dsh-auth-tailscale 即可安装该插件,完整源码地址为 https://github.com/sperictao/dsh-auth-tailscale 。
插件介绍
远程 dsh 连接授权中最棘手的一环,是把身份验证从未受信公网搬进受控 tailnet。dsh-auth-tailscale 利用 Tailscale Serve 终结 HTTPS 并注入经防伪处理的 Tailscale-User-Login、Tailscale-User-Name 及 App Capability 头,让 dsh 只需绑定 127.0.0.1 即可获得可靠的用户身份,无需暴露端口,也无需使用公开的 Funnel。
插件提供两层访问控制:逗号分隔、大小写敏感的 login allowlist 精确限定可连接的身份,以及 App Capability 分层将普通远程 API/WS 调用与特权 loopback 管理端点分开,权限直接写入 tailnet policy 即可治理。缺少身份头、RFC 2047 编码异常、capability JSON 非法或权限不足,一律 fail closed 拒绝,绝不退回匿名访问。
适合已在 tailnet 内运行 dsh、需要按用户粒度和 capability 粒度分别限制远程访问与管理员权限的运维和安全团队。App Capability 需 Tailscale 1.92 及以上版本;tagged-device-only 调用因缺少用户身份头会被自动拒绝。
使用场景
- 用 Tailscale Serve 终结 HTTPS 后,按 login allowlist 精确控制哪些用户可远程连接 dsh
- 通过 App Capability 将普通 API 访问与管理员特权接口分开,权限直接写入 tailnet policy
- 让 dsh 只绑定 127.0.0.1,借助 Serve 注入的防伪身份头实现零暴露端口的远程授权
适合人员
- 已在 Tailscale tailnet 内运行 dsh 的运维团队
- 需要按用户和 capability 粒度分别治理远程访问权限的安全负责人
- 希望用 tailnet policy 替代 IP 白名单或 API token 做远程授权的平台工程师