简介
Guacamole是一款开源的远程桌面框架,它允许用户通过Web浏览器远程访问计算机资源。
官网地址:Apache Guacamole™
官方文档:Installing Guacamole natively — Apache Guacamole Manual v1.5.3
架构
组件 | 描述 |
---|---|
客户端浏览器 | 用户通过支持HTML5和WebSocket的浏览器访问Guacamole远程桌面服务。用户可以在浏览器中输入服务器的地址和认证信息,以建立与远程桌面的连接。 |
Guacamole服务器 | Guacamole服务器是一个中间层,它接受来自客户端浏览器的连接请求,并将其转发到目标远程计算机。它负责处理连接的建立、维护和关闭,并提供与远程桌面通信的功能。 |
远程桌面协议 | Guacamole支持多种远程桌面协议,如VNC、RDP和SSH。这些协议允许Guacamole与不同类型的远程计算机进行通信。Guacamole服务器将客户端浏览器发送的协议请求转换为相应的远程桌面协议,并将协议响应返回给浏览器。 |
远程计算机 | 远程计算机是用户希望远程访问的计算机。它可以是运行不同操作系统的服务器、虚拟机或个人电脑。Guacamole通过远程桌面协议与远程计算机进行通信,将远程计算机的桌面内容传输到客户端浏览器,并将用户的输入传递给远程计算机。 |
功能
特点 | 描述 |
---|---|
远程访问 | 通过Web浏览器远程访问计算机资源。 |
跨平台 | 可以在不同操作系统上使用,如Windows、Linux等。 |
HTML5支持 | 使用HTML5技术,无需客户端插件或软件。 |
安全性 | 支持SSL加密,保护远程访问的安全性。 |
管理界面 | 提供管理界面,方便配置和管理Guacamole。 |
扩展性 | 可以通过插件和扩展来增加功能和定制化需求。 |
优点
特点 | 描述 |
---|---|
无需安装 | 无需在本地安装客户端软件,只需通过Web浏览器即可访问远程计算机资源。 |
跨平台 | 跨平台支持使得在不同操作系统上都可以方便地使用。 |
HTML5支持 | 使用HTML5技术,无需额外的插件或软件,提供了更好的跨浏览器兼容性。 |
安全性 | 支持SSL加密,提供安全的远程访问解决方案。 |
管理界面 | 管理界面简化了配置和管理过程。 |
缺点
特点 | 描述 |
---|---|
网络连接 | 需要稳定的网络连接,否则可能会影响远程访问的质量和稳定性。 |
技术要求 | 在服务器端需要安装和配置Guacamole,对于一些用户来说可能需要一定的技术知识和操作能力。 |
浏览器要求 | 需要使用支持HTML5和WebSocket的浏览器才能正常访问远程桌面资源。 |
安全性 | 需要正确配置SSL证书和安全设置,以确保远程访问的安全性。 |
学习适应 | 对于不熟悉管理界面操作和配置的用户来说,可能需要一些学习和适应的时间。 |
高级功能 | 对于一些高级功能和定制化需求,可能需要进行开发和集成扩展,可能需要额外的配置和工作量。 |
centos7 docker 下Guacamole 服务配置
1: 安装docker
2: 安装mysql镜像
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
3: 导出guacamole的建表文件
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
4: 将文件复制到mysql的容器中
docker cp initdb.sql some-mysql:/initdb.sql
5:在mysql的容器中打开bash:
docker exec -it some-mysql bash
6:登陆到mysql,建立数据库guacamole_db
mysql > CREATE DATABASE guacamole_db;
7: 导入数据initdb.sql到数据库guacamole_db中:
cat initdb.sql | mysql -u root -p guacamole_db
8:验证表信息,登陆到mysql
mysql> USE guacamole_db;
mysql> SHOW TABLES;
9:退出mysql容器
10: 启动guacd容器:
docker run --name some-guacd -d guacamole/guacd
11: 启动gacamole容器,并且连接guacd和mysql容器
docker run --name some-guacamole --link some-guacd:guacd --link some-mysql:mysql -e MYSQL_DATABASE='guacamole_db' -e MYSQL_USER='root' -e MYSQL_PASSWORD='123456' -d -p 192.168.0.192:8080:8080 guacamole/guacamole
12:通过网址 http://192.168.0.192:8080/guacamole/ 访问
默认账户和密码都是 guacadmin。记得打开8080端口,每次修改防火墙,记得重启docker(没细研究,也可能不需要)