server-workbench 工作台副本 + Agent 体系(部署于 kaku2025)
maizihehuo 工作台的被管节点侧:server-workbench 本机副本(8765)、状态上报 Agent(9101)、反向隧道(wb-hk-tunnel)、keeper 保活,以及 kanban-app 副本。
访问方式
- 工作台本机副本:127.0.0.1:8765(uvicorn)
- 状态 Agent:127.0.0.1:9101(token 鉴权,token 在 systemd unit,不抄录)
- 反向隧道:wb-hk-tunnel.service,把本机 9101 反挂到 vpn.bianquezhiyin.cn:19225(供主控工作台采集)
- kanban-app 副本:127.0.0.1:3456(pm2)
技术架构
- server-workbench:systemd uvicorn(8765);/opt/server-workbench 下另有 docker-compose.yml(容器形态备用,当前未用容器跑)
- server-agent:/opt/server-agent/agent.py(--port 9101 --bind 127.0.0.1 --token ...)
- wb-agent:/opt/wb-agent/agent.py,由 cron
*/5 * * * * /opt/wb-agent/keeper.sh 与 @reboot 保活(keeper.sh 检测进程不在则 setsid 拉起)
- 配置:config/servers.json、agent.conf、state.json;密钥 ssh_keys/(含归档目录 /opt/ssh_keys_archived_20260908)
- kanban-app:/www/wwwroot/kanban-app(pm2,数据 data/)
数据
- 工作台 SQLite(data 目录);备份 cron.d/server-workbench-backup → /opt/server-workbench/backup.sh 每日 3:00
- kanban data/(与 maizihehuo 副本独立 —— 分叉风险)
- /opt/ssh_keys_archived_20260908/:6 个私钥文件(fnos_yunmai、id_ed25519、kaku2025、bianque_sv、fuzai1、huoshan_84、tx_bianque_92)—— 高敏感存档
使用方法
- 主控在 maizihehuo(workbench/workbench2 域名);本机副本仅应急用
- Agent 数据经隧道被主控拉取,本机无需操作
维护方式
- 启停:
systemctl restart server-workbench server-agent wb-hk-tunnel
- Agent 保活:cron keeper;手工:
bash /opt/wb-agent/keeper.sh
- 日志:journalctl -u wb-hk-tunnel -f;/opt/wb-agent/logs/agent.log
现状与风险
- 全部 active;隧道依赖 vpn.bianquezhiyin.cn(headscale 主控)
- 归档私钥目录长期滞留,下线时是最大安全隐患之一
- 工作台副本与主控配置漂移(servers.json 两份)
优化建议(下线清单)
- 【安全】下线前处理 /opt/ssh_keys_archived_20260908:确认各密钥已在 1Password/新机持有副本后
shred -u 销毁,并在对应服务器撤销公钥
- 【迁移】servers.json 若本机有独有改动,合并到 maizihehuo 主控配置
- 【迁移】kanban-app:比对两台 data 目录,留新去旧;下线本机 pm2(
pm2 delete kanban-app && pm2 save)
- 【可维护性】最终备份:
tar czf /opt/backups/workbench-kaku-final.tgz /opt/server-workbench --exclude=node_modules 后转存 NAS