# 2026-06-21 宝塔面板登录 URL 修复 ## 摘要 修复「面板登录」`POST /api/btpanel/servers/{id}/login-url` 返回 500:SSH 回退改用宝塔自带 `pyenv` 执行 `tools.py`,相对路径自动探测含安全入口的浏览器地址。 ## 动机 生产验收:系统 `python3` 调 `tools.py` 缺 `psutil`;`get_temp_login_ipv4` 输出多行(裸 base + `/login?tmp_token=`),需解析并拼安全入口。 ## 涉及文件 - `server/infrastructure/btpanel/ssh_login.py` — pyenv Python、多行解析、`resolve_temp_login_url` - `server/application/services/btpanel_service.py` — API `set_temp_login` 相对路径走面板地址探测 - `tests/test_btpanel_ssh_login.py` ## 迁移 / 重启 - 部署 API 即可;无需 DB 迁移。 ## 验证 ```bash .venv/bin/pytest tests/test_btpanel_ssh_login.py -q # 生产:POST /api/btpanel/servers/3/login-url → 200,url 含 tmp_token 与安全入口 ```