环境:
- Ubuntu 24.04 x86_64
- 宝塔稳定版 12.0.0
- 固定官方 panel6_ltd_12.zip
- ZIP SHA-256:
788754a583da593ec20d4b6d6c6ba8e3bf4701289e63704f152755e58f8f9df4
- class/ssh_terminal.py SHA-256:
9afb70c348ea78133ac0fceaddf19a1e8629fcc15d101ab197fdc55203a91457
- 该文件与官方 ZIP 字节完全一致
复现现象:
1. 登录宝塔并打开内置“终端”,连接本机快速终端。
2. 执行普通只读命令并保持终端会话。
3. BT-Panel PID 仍存活,但面板端口的新连接无法完成 TLS 握手。
4. 实测监听 Recv-Q 达到 32/100,本机 openssl 握手超时 exit=124。
5. 关闭网页终端会话后,同一 Panel PID 可恢复响应;另一次需要重启 Panel 恢复。
排除项:
- Panel 文件句柄只有 7/65535
- 无 Swap/OOM
- Docker、Nginx、SSH、UFW 均正常
- 不是面板核心文件损坏
- terminal.log 记录内部 127.0.0.1:22 会话建立及客户端主动断开
源码调用链:
- BTPanel/__init__.py:3295-3353 同步调用 p.run(ws, ssh_info)
- ssh_terminal.py:955-990 启动 send/recv/heartbeat 三线程后依次 join
- 本地 _LocalShell.recv():1515-1536 使用无 timeout 的 select.select
- runconfig.py 使用 workers=1、GeventWebSocketWorker
请求:
请确认是否为已知问题,并提供适用于稳定版12的修复版本或补丁。
请提供正式下载 URL、版本号、文件大小、SHA-256 及变更文件列表。
请勿仅建议覆盖安装当前相同负载。
|
|