Termix 自托管:把 SSH、RDP 和连接配置收进一个入口
服务器一多,SSH 配置、私钥、RDP 连接和端口转发很快会散到不同设备里。Termix 的方向很直接:把这些连接信息放进一个可自托管的服务,再用浏览器或各平台客户端去连。
它适合想统一入口的人,不适合把 “远程管理面板” 当作可以随便裸露到公网的普通网站。服务里保存的是连接信息,权限和入口要比一般展示站点更谨慎。
Docker Compose:SSH 足够,远程桌面再加 guacd
Termix 官方示例包含主服务和 guacd。guacd 是 Apache Guacamole 的协议代理,RDP、VNC 这类远程桌面能力会用到它;如果你只使用 SSH,官方说明可以不部署 guacd 和自定义网络。
完整一点的 Compose 可以这样写:
services: termix: image: ghcr.io/lukegus/termix:latest container_name: termix restart: unless-stopped ports: - "127.0.0.1:8080:8080" volumes: - termix-data:/app/data environment: PORT: "8080" depends_on: - guacd networks: - termix-net13 collapsed lines
guacd: image: guacamole/guacd:1.6.0 container_name: termix-guacd restart: unless-stopped networks: - termix-net
volumes: termix-data:
networks: termix-net:启动后先看日志:
docker compose up -ddocker compose psdocker compose logs --tail=100 termix这里同样把 8080 只绑定到回环地址,再交给 Nginx 或 Cloudflare Tunnel 处理外部访问。guacd 不需要映射宿主机端口,它只应该被 Termix 容器通过内部网络访问。
先决定入口,再创建连接
Termix 能连 SSH、RDP 等目标,本质上就是一层管理面。最常见的安全失误不是容器没起来,而是为了方便,直接把 8080:8080 暴露到公网,然后只依赖一个网页登录密码。
按使用场景选入口:
| 场景 | 推荐入口 |
|---|---|
| 家里或办公室内网 | 只绑定内网地址,或通过局域网反代访问 |
| 个人远程访问 | VPN / Tailscale / Cloudflare Access 之后再打开 Termix |
| 必须公网提供 | HTTPS、强身份认证、访问控制和持续更新缺一不可 |
连接本身也尽量使用 SSH 密钥,不要把一堆目标机的 root 密码保存进面板。面板账号权限、目标机 SSH 权限和网络入口应该分层控制。
客户端不是必须,但有些场景更顺手
Termix 支持 Web / PWA,也提供 Windows、Linux、macOS、iOS 和 Android 的客户端。桌面客户端适合需要系统级体验的人;偶尔登录一两台机器,浏览器入口已经够用。
官方还有 CLI:
npm install -g @termix-cli/clitermix login --url https://termix.example.comtermix ssh 1是否安装 CLI 不影响服务端。先把网页服务、身份认证和一两个 SSH 连接验证通,再考虑把它接进日常工作流。
更新和恢复前先知道数据在哪
上面用了 Docker named volume termix-data。这能让容器重建后连接配置仍在,但也意味着备份不能只备 compose.yml。
更新前的最低检查:
docker compose pulldocker compose up -ddocker compose logs --tail=100 termix真正重要的验证是:登录是否正常、已有连接是否还在、SSH 是否能建立、如果启用了 RDP / VNC,远程桌面是否真的通过 guacd 连上。服务显示 Up 不代表协议代理也正常。
出问题先看依赖关系
| 现象 | 优先检查 |
|---|---|
| 网页打不开 | 8080 绑定地址、反代目标、docker compose ps |
| SSH 能用,RDP / VNC 不能用 | guacd 是否运行、两容器是否在同一网络 |
| 重建容器后连接丢失 | termix-data volume 是否仍存在 |
| 反代后登录或回调异常 | 外部 URL、HTTPS 转发头、浏览器 Cookie 策略 |
| 升级后功能异常 | 先读 release notes,再对照容器日志回滚或定位变更 |
远程管理工具的便利,来自少切几个窗口;它的风险,也来自把很多权限收进同一个入口。把入口藏在可信网络后面,比在首页再加一句 “请设置强密码” 更管用。
