老赵写字的地方

Apache Guacamole — 无客户端远程桌面网关

Apache Guacamole 是一个开源的远程桌面网关,由 Apache 软件基金会维护。它最核心的特点是无需在客户端安装任何软件——只需一个支持 HTML5 的浏览器,即可访问远程桌面和服务器。

官网:https://guacamole.apache.org/open-source/

主要特点

  • 无客户端 — 纯 HTML5 浏览器访问,无需安装 VNC/RDP/SSH 客户端
  • 多协议支持 — 内置支持 VNC、RDP、SSH、Telnet 和 Kubernetes
  • 集中管理 — 通过 Web 界面统一管理所有远程连接
  • 认证与授权 — 支持 LDAP、SAML、TOTP 等多种认证方式
  • 会话录制 — 可以录制和回放远程会话
  • 剪贴板共享 — 在本地和远程之间复制粘贴文本、文件
  • 多因子认证 — 支持 TOTP(基于时间的一次性密码)

架构

Apache Guacamole 分为两个核心组件:

guacamole-server — 使用 C 语言编写,提供高效的协议代理(guacd 守护进程),负责将 VNC、RDP、SSH 等协议转换为 Guacamole 自有协议。

guacamole-client — 使用 Java(Servlet)编写,提供 Web 界面和用户管理功能。也是让项目真正「无客户端」的关键层:用户通过浏览器访问 Web 页面,JavaScript 客户端通过 HTTP/WebSocket 与 Java Servlet 通信,再由 guacd 连接到实际的目标服务器。

部署方式

传统部署

```text 用户浏览器 → Nginx → Guacamole Client (Java/Tomcat) → guacd (C) → 目标服务器 (VNC/RDP/SSH) ```

Docker 部署

官方提供了 Docker 镜像,可快速启动:

```text docker run –name guacd -d guacamole/guacd docker run –name guacamole –link guacd -e MYSQL_HOST=db \

  1. d guacamole/guacamole

```

支持 MySQL、PostgreSQL 和 SQL Server 作为后端存储。

Docker Compose

官方 GitHub 仓库提供了完整的 docker-compose 示例,包含 guacd、guacamole、MySQL 三个容器的一键部署方案。

适用场景

  • VDI(虚拟桌面基础设施) — 用户通过浏览器访问办公桌面
  • 服务器运维 — SSH 堡垒机,替代传统 SSH 客户端
  • 教育/培训 — 学员无需安装任何软件即可访问实验环境
  • BYOD(自带设备) — 员工用自己的设备通过浏览器远程办公
  • 客户支持 — 技术支持人员远程访问客户服务器

优缺点

优势 劣势
无需安装客户端,开箱即用 视频/图形密集型场景性能有限
集中管理所有连接 WebSocket 连接需要专用端口
开源免费(Apache 2.0 协议) 大规模部署需额外架构设计
支持多因子认证 对 3D/高帧率画面支持一般
活跃的社区和商业支持(Glyptodon Enterprise) 中文资料相对较少

总结

Apache Guacamole 是一个成熟的、生产级的远程桌面网关方案,特别适合需要统一管理多种远程协议且客户端环境不可控的场景。如果你的团队需要在不同设备上远程访问服务器、桌面,同时又不想在每个设备上都安装客户端软件,Guacamole 是值得优先考虑的免费方案。

zh/guacamole/guacamole.txt · 最后更改: 由 dsbot