LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

[点晴永久免费OA]Apache Guacamole:一款基于浏览器的开源远程桌面网关,纯 Web 访问无需客户端,支持 RDP、VNC、SSH、Telnet 等主流协议

admin
2026年6月18日 15:23 本文热度 88

概述

Apache Guacamole 是一款基于浏览器的开源远程桌面网关,纯 Web 访问,无需客户端,支持 RDP、VNC、SSH、Telnet 等主流远程协议

架构分为前端(guacamole-client) 和后端代理(guacd) 两部分,二者分离部署、分工协作

guacamole-web前端

1、作用

• 运行在 Web 容器(Tomcat、Nginx+Jetty 等),提供Web 访问界面
• 接收浏览器请求、用户登录、权限校验、会话管理
• 不直接连接远程主机,所有远程连接请求转发给 guacd 处理
• 协议转换:把浏览器 WebSocket 流量转为 Guacamole 私有协议,和 guacd 通信

2、核心组件

• 网页 UI:纯 HTML5,任意现代浏览器打开即可远程桌面 / 终端
• 认证模块:支持本地账号、LDAP、数据库、CAS、TOTP 二次验证等
• 连接管理:保存远程主机地址、端口、账号、协议、参数等配置

3、特点

• 无客户端、跨平台、跨终端(电脑 / 平板 / 手机)
• 可做统一远程运维入口,集中管理大量服务器 / Windows 主机

guacd(Guacamole守护进程)

1、定位

• Guacamole 的后端代理服务,是整个远程连接的真正执行者,独立后台进程

2、核心作用

• 监听前端 guacamole-client 的连接请求(默认 TCP 4822 端口)
• 解析请求,主动发起 RDP/VNC/SSH/Telnet 到目标远程主机
• 完成协议编解码、画面渲染、键鼠 / 剪贴板 / 文件传输转发
• 隔离前端与内网主机:外网只访问 Web 前端,guacd 在内网对接设备,提升安全

3、关键特性

• 多线程:支持并发多个远程会话,每个会话独立线程
• 资源代理:剪贴板共享、文件上传下载、音频、打印机、串口等都由它中转
• 轻量、高性能,一般部署在内网运维区

4、端口与运行

• 默认监听端口:4822/TCP
• 运行模式:后台守护进程,日志独立输出
• 依赖系统库:libguac、RDP/VNC/SSH 相关协议库

整体通信流程(最简链路)

• 浏览器 → 访问 Guacamole Web 前端(client)
• client 鉴权通过 → 通过 4822 端口 连接 guacd
• guacd → 根据配置,使用 RDP/SSH/VNC 连接目标服务器 / 主机
• 远程主机画面、键鼠操作反向原路回传至浏览器

部署(Docker方式)

1、首先下载三个镜像

docker pull guacamole/guacd:latest
docker pull guacamole/guacamole:latest
docker pull postgres:15-alpine

2、生成数据库初始化 SQL,本例子使用postgresql

docker run --rm guacamole/guacamole:latest  /opt/guacamole/bin/initdb.sh --postgresql > initdb.sql

3、编辑docker-compose.yml文件,自己设置postgresql账号密码,内容如下:

services:
  postgres:
    image: postgres:15-alpine
    container_name: guacamole-postgres
    restart: unless-stopped
    environment:
      POSTGRES_DB: guacamole_db
      POSTGRES_USER: guacamole_user
      POSTGRES_PASSWORD: guacamole_pass
    volumes:
      - pgdata:/var/lib/postgresql/data
      - ./initdb.sql:/docker-entrypoint-initdb.d/initdb.sql:ro

  guacd:
    image: guacamole/guacd:latest
    container_name: guacamole-guacd
    restart: unless-stopped

  guacamole:
    image: guacamole/guacamole:latest
    container_name: guacamole-web
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      GUACD_HOSTNAME: guacd
      POSTGRESQL_HOSTNAME: postgres
      POSTGRESQL_DATABASE: guacamole_db
      POSTGRESQL_USER: guacamole_user
      POSTGRESQL_PASSWORD: guacamole_pass
    depends_on:
      - guacd
      - postgres

volumes:
  pgdata:

4、把initdb.sql 和docker-compose.yml放在同一目录下,然后启动

docker-compose up -d

5、输入http://IP:8080/guacamole 打开页面,输入账号密码登录

默认账号/密码:guacadmin / guacadmin

6、配置连接主机,我这里先创建了连接组,来区分系统类型,如图:

7、然后点击新建连接,输入连接的机器名字、协议,位置就是刚才的组,连接数自定义,如图:

网络位置,填写真正需要连接的主机IP、端口,会话超时时间,认证位置,填写用户名和私钥,如果使用密码认证也可以,页面默认私钥是明文的,因此在服务器上生成私钥的时候要加密,然后在口令位置,输入加密私钥的时候使用的密码,如下:

ssh-keygen -t rsa -f id_rsa -N "强密码"  #给私钥加密

注:执行ssh-keygen生成的公钥要添加到authorized_keys中,私钥才能连接

SFTP位置,选择开启,设置个上传文件的目录,如图:

8、点击账户-首页回到页面,可以看到机器信息,如图:

9、点击即可连接机器,如图:

10、默认情况下连接后是全屏的,不能回到主界面了,此时可以按ctrl + alt + shift,如图:

点击上面下拉列表即可回到主界面中,同时可以看到下面的设备位置,就是上一步设置的SFTP的目录,点击设备名,进入到/tmp目录下,此时就可以上传和下载文件了,如图:


阅读原文:https://mp.weixin.qq.com/s/UqS4V_r2RajCHtO3yUn_fA


该文章在 2026/6/18 16:24:15 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-1  粤公网安备44030602007207号