51 lines
1.3 KiB
Markdown
51 lines
1.3 KiB
Markdown
|
|
# 2026-06-10 RDP guacd 握手修复 — 生产验证
|
|||
|
|
|
|||
|
|
## 变更
|
|||
|
|
|
|||
|
|
- 服务端完成 guacd `select` → `connect` → `ready` 握手,再桥接 WebSocket
|
|||
|
|
- 凭据来自 `rdp_hosts` 表,不依赖 URL 中的 password
|
|||
|
|
|
|||
|
|
## 部署
|
|||
|
|
|
|||
|
|
- 主机 `/opt/nexus` 已同步新文件
|
|||
|
|
- `nexus-1panel.sh upgrade --no-backup` 重建镜像 `nexus-prod-nexus`
|
|||
|
|
- `/health` → ok
|
|||
|
|
|
|||
|
|
## 验证(Agent 执行)
|
|||
|
|
|
|||
|
|
### 1. guacd 直连握手(容器内 Python)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
handshake 20.189.75.225 3389 azureuserwindwos guacd guacd 4822
|
|||
|
|
READY $da3288e0-2943-4186-b542-b00156251633
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
guacd 日志:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Creating new client for protocol "rdp"
|
|||
|
|
Connected to RDPDR 1.13 as client 0x0003
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. WebSocket 隧道
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
FIRST_MSG 0.,37.$f5b63cbd-2af9-4ee4-a714-37a7fbf1df9c;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
首包为 Guacamole tunnel OPEN(空 opcode + connection id),符合 `guacamole-common-js` 预期。
|
|||
|
|
|
|||
|
|
### 3. 结论
|
|||
|
|
|
|||
|
|
- 原 `Guacamole protocol violation`(透明 TCP 桥接)已消除
|
|||
|
|
- RDP 目标 20.189.75.225:3389 可从 guacd 建立会话
|
|||
|
|
|
|||
|
|
## 待用户终验
|
|||
|
|
|
|||
|
|
浏览器:`https://api.synaglobal.vip/app/#/rdp` → 选择 `azurewin11` → 连接,应出现远程桌面画布。
|
|||
|
|
|
|||
|
|
## 备注
|
|||
|
|
|
|||
|
|
- 代码尚未 `git push`(仅主机热更新 + 镜像重建);建议后续提交 `protocol.py` / `ws_tunnel.py` / `rdp.py`
|
|||
|
|
- RDP 用户名库中为 `azureuserwindwos`(若 Windows 实际用户不同需在前端编辑)
|