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-net
13 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:

启动后先看日志:

Terminal window
docker compose up -d
docker compose ps
docker 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:

Terminal window
npm install -g @termix-cli/cli
termix login --url https://termix.example.com
termix ssh 1

是否安装 CLI 不影响服务端。先把网页服务、身份认证和一两个 SSH 连接验证通,再考虑把它接进日常工作流。

更新和恢复前先知道数据在哪

上面用了 Docker named volume termix-data。这能让容器重建后连接配置仍在,但也意味着备份不能只备 compose.yml。

更新前的最低检查:

Terminal window
docker compose pull
docker compose up -d
docker 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,再对照容器日志回滚或定位变更

远程管理工具的便利,来自少切几个窗口;它的风险,也来自把很多权限收进同一个入口。把入口藏在可信网络后面,比在首页再加一句 “请设置强密码” 更管用。

参考