@zhangfengshun/dsh-remote-ssh 2.3.7 → 2.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,17 @@
2
2
 
3
3
  本文件的版本号与 `package.json` 的 `version` 保持一致。每个版本对应一个 Cordis Package 快照(`pkg-N`)。
4
4
 
5
+ ## [2.3.9] — 修复 git-bash 启动导致的密钥认证失败(ssh 解析钉定到系统 OpenSSH)
6
+ ### 修复
7
+ - **Windows 下 ssh 可执行文件优先解析为系统自带 OpenSSH 的绝对路径**(`%SystemRoot%\System32\OpenSSH\ssh.exe`,存在才使用,否则回落 PATH):此前从 **git-bash** 启动 `dsh web` 时,子进程 PATH 里 Git 自带的 MSYS2 ssh 排在系统 OpenSSH 之前,插件实际调用 Git 的 ssh——其 HOME/config/agent 语义与系统 OpenSSH 不同,导致"终端能连、测试连接 Permission denied"。ssh 主机侧忽略用户 authorized_keys 的 HPC 集中授权环境同样受此影响。
8
+ - **终端 shell wrapper 同步修复**:生成的 `dsh-remote-shell.js` 同样优先解析系统 OpenSSH 绝对路径。
9
+ - 非 Windows 平台、未安装系统 OpenSSH 的环境:行为与之前完全一致(回落 PATH),零破坏。
10
+
11
+ ## [2.3.8] — `/remote-ssh/api` CSRF 加固(合并 PR #4 + 服务端强制校验)
12
+ ### 安全
13
+ - **合并 PR #4**(感谢 @anupamme / OrbisAI Security):客户端 API 调用(`/remote-ssh/api/*`)统一携带 `x-requested-with: XMLHttpRequest` 头。
14
+ - **服务端强制校验该头**(PR 的服务端半边):`/remote-ssh/api/*` 前缀路由现在要求请求必带 `x-requested-with`,缺失返回 403 `csrf`——跨站攻击者无法在 no-cors POST 中携带非简单头(预检也会被拒),为不支持 `Sec-Fetch-*` 头的旧浏览器补上 CSRF 防线。现有 `Sec-Fetch-Site` 检查、localhost 限定与 DSH 网关认证全部保留;`fs.*`/`git.*`/上传/下载路由不受影响(其调用方为 better-sidebar 自带客户端,不带该头)。
15
+
5
16
  ## [2.3.7] — Windows host 连接诊断增强:过滤 PQ 警告、ssh -v 诊断、跨平台测试探测
6
17
  ### 修复
7
18
  - **过滤 OpenSSH「后量子 KEX」警告横幅**:新版本客户端对非 PQ 加密的 stderr 警告(三行 `** WARNING…`)与认证成败无关,此前混入错误信息会误导用户以为是不支持加密算法;现在统一过滤(错误提示、一次性连接 stderr、持久会话关闭诊断)。