guacamole 源码_部署Guacamole跳板机平台

部署Guacamole跳板机平台

Apache Guacamole是一个可以通过浏览器访问远程桌面的应用,它无需在访问者界面部署任何软件(clientless),且支持主流的VNC,RDP,SSH等协议。本文主要介绍如何通过华为云stack部署一个Guacamole平台,支持云外的用户进行远程访问。

部署和架构

Guacamole不是一个完全独立的(self-contained)网络应用,它由一个简单轻量的网络应用搭配主要的底层组件构成的。

当用户通过浏览器连接一个Guacamole服务器时,Guacamole client组件通过内置于Guacamole 服务器的webserver提供给用户(servered to users by a webserver within the Guacamole server)。继而这个client使用Guacamole协议通过HTTP连接回Guacamole服务器。

部署着Guacamole server的网络应用(e.g. apache nginx)读取Guacamole 协议并转发给Guacamole原生代理guacd。 这个代理解析请求并代表用户访问远程桌面服务。

Guacamole协议结合guacd服务共同保证了:无论是Guacamole client还是网络应用都无需感知远程桌面的传输协议。

Guacamole协议

网络应用并不明白任何的远程桌面协议,它只需要理解Guacmole协议。这个协议支持远程显示的渲染和事件的传输工作。

作为一个远程展示和交互的协议,Guacmole整合了当前很多的远程桌面协议。向Guacmole添加一个远程桌面协议可以理解为在远程桌面协议(如RDP)和Guacmole协议直接写入一个中介传输层。操作这个中间层和直接操作本地服务并无太大区别。

这个中介层就是guacd

guacd

guacd是Guacamole的核心,它动态的载入对远程桌面协议的支持,并且接受网络应用的指示连接远程桌面。

guacd是一个守护进程,它与Guacmole一起安装并在后台运行并监听网络应用的TCP连接请求。guacd同样不理解具体的远程桌面协议,但是它通过Guacamole协议知道需要调用并且加载相应的协议插件,当客户端插件(client plugin)被加载,它就可以独立于guacd运行并拥有全部的控制权限直到被关闭。

guacd以及所有的客户端插件都依赖于一个公共包libguac,它使得通过Guacamole协议的交流更加的普适化(abstract)。

网络应用

在Guacamole中,用户直接进行交互的部分是网络应用。它依赖于guacd且仅仅提供认证和网络转发等。

安装Guacamole

Guacamole主要分为2个部分:

guacamole-server提供guacd代理以及相关的依赖。

guacamole-client提供servlent容器(通常为Tomcat)需要的client。

安装guacamole-server

guacamole-server包含所有Guacamole所需的原生的,服务器端的组件。libguac是其中一个公共的C包,它包含了所有基础组件的依赖。

安装guacd会创建一个guacd的守护进程,一般推荐设置为开机自动启动。

在安装之前确保预装了C编译器(e.g. gcc)。

这里我们以CentOS7.6来安装部署一个Guacmole服务。

安装依赖

a. 必选依赖

依赖包名称

说明

C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值