guacamole web网关平台的使用 – 云原生之路


本站和网页 http://www.361way.com/guacamole/5919.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

guacamole web网关平台的使用 – 云原生之路
跳至内容
云原生之路
关注云原生技术及互联网科技的IT博客
菜单
首页
视频教程
WIKI
站点地图
捐赠名单
关于我
guacamole web网关平台的使用
发表于2018-12-102022-12-02 作者 admin
一、guacamole是什么
guacamole是一个完全可以通过web界面来管理连接VNC、SSH、RDP(windows远程桌面)、telnet相关协议连接的一套组件 。其是基于Websocket + HTTP的方式实现的连接 。其架构图如下:
从上图也可以看出Guacamole有2个部分构成:
Guacamole-server: 提供代理和相关依赖库
guacamole-client: 提供服务端容器(如Tomcat)运行的客户端
上图中的 guacd 就是server编译后对接出的命令,而 client端安装比较将单就是一个tomcat war项目,可以使用管方编译好的,也可以自行下载源码,使用mvn编译出war 文件。
更详细的项目介绍可以查看官方文档: ,也可以查看国中翻译版本:https://www.cnblogs.com/ji-yun/p/5657709.html
二、guacamole server的安装
server 前需要安装一些依赖,其中必选依赖如下:
Cairo 是被libguac 用来绘图的. 没有它Guacamole就实现不了此功能
libjpeg-turbo 为libguac 提供 JPEG 的支持。没有它Guacamole就无法编译。libjpeg-turbo 在你的平台上不可用, 并且你不希望用源码编译它, libjpeg 也会照常工作,只是速度不会那么快
libpng 被 libguac 用来写PNG 图像, 它是Guacamole 协议使用的核心图像类型. Guacamole 没有libpng就不能正常运转..
OSSP UUID 被libguac 用来设计每一个Guacamole连接唯一的 ID. 这些唯一的ID是连接分享的基础。
除此之外还有可选依赖,可选依赖主要是几个连接协议对应的包。具体可以在官网: 找到相关内容。
这里以centos6/7为例,介绍下安装过程(安装前,请先装下epel 源,因为一些包在base源中没有):
1、安装必须依赖
yum -y install cairo-devel libjpeg-turbo-devel libjpeg-devel libpng-devel uuid-devel
安装完可能会提示:No package uuid-devel available. ,这就需要通过源码编译来安装此依赖,通过guacamole官方链接的uuid包的官方无法正常下载(ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz),我这里使用了镜像站的下载地址:http://www.mirrorservice.org/sites/ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz 可以成功下载。下载好后,使用下面的命令编译即可:
./configure --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc
2、可选依赖
yum -y install freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel
这里命令执行后也会提示有个别包未安装,如果必须要的,可以自行手动编译,如果未使用到该协议的,不成功也没关系。我这里因为主要是测试使用,有两个包也未成功安装,在编译guacamole的时候,界面如下:
从上图看出,只有 vnc 协议不支持,其他协议的支持并不受影响。
3、guacamole server安装编译
guacamole server的下载地址为: 解包后,通过如下命令进行安装:
cd guacamole-server-0.9.14
./configure --with-init-dir=/etc/init.d
make
make install
安装成功后,在/etc/init.d目录下会有guacd 的服务产生。 ### 三、guacamole client安装
还是打开上面的下载地址,找到对应的client的war文件下载,下载之前也请登陆tomcat.apache.org下载tomcat包(也可以使用源里带的tomcat包),我这里选择的tomcat.apache.org上下载的。将对应下载的war文件存放到tomcat的webapp目录(先清空该目录里的哪些管理功能 —- 留着就是祸害,很容易被漏洞利用或默认获权)。
如果想要源码编译,可以使用如下命令生成war文件:
git clone git://github.com/glyptodon/guacamole-client.git
mvn package
个人觉得如非二次开发之类的需求,跟本无需使用mvn命令编译生成war包,官方提供的war就可以。正常启动后,就可以打开对应的web登陆界面。
注:不像很多web程序,这里没有默认的用户名密码,用户名密码是需要后面进行配置的。
四、基础认证与配置
基础认证就是要连接的主机信息和用户信息都不存在数据库里,只保存在相应的文件里即可。默认使用的是基础认证(当然程序支持各种流行的后端认证方式:mysql 、plsql、sqlserver、openldap、还有二次验证等,这个后面再说)。
1、 GUACAMOLE_HOME
GUACAMOLE_HOME 就是guacamole的配置存放的目录 ,其可以从如下三个地方读取:
1: 系统的guacamole.home属性
2: 系统的GUACAMOLE_HOME变量
3: 运行程序用户的.guacamole目录
这里我们就根据默认惯例使用/etc/guacamole/目录存放配置文件,也无需使用其他环境变量(另两种情况主要是针对普通用户安装时对/etc目录没有写权限的情况)。该目录下可以使用的配置和参数如下:
guacamole.properties:
决定Guacamole如何连接到guacd, 也可以定义插件
api-session-timeout:
单位: 分钟
默认: 60
Guacamole会话的空连接时间
guacd-host:
Guacamole代理的监听地址, 默认localhost
guacd-port:
Guacamole代理的监听端口, 默认4822
guacd-ssl:
Web应用和guacd之间是否使用SSL/TLS, 默认false
logback.xml:
Guacamole使用Logabck来记录日志, 默认记录到console, 也可以指定自己的Logback配置文件
服务代理程序默认会记录日志.
extensions/:
存放Guacamole的插件, 启动时默认会加载所有已.jar结尾的文件
lib/
Guacamole会在这里寻找插件所需要的依赖, 改目录下的.jar文件对所有插件可读
2、guacamole.properties配置
创建/etc/guacamole/guacamole.properties文件,这里我们只简单的写四行就行了:
guacd-hostname: localhost
guacd-port: 4822
user-mapping: /etc/guacamole/user-mapping.xml
enable-clipboard-integration: true
前两行是server的地址和端口,如果client web和server未安装在同一台上,也可以配置其他IP。
3、user-mapping.xml配置
配置示例如下:
<user-mapping>
<authorize username="itybku" password="319f4d26e3c536b5dd871bb2c52e3178" encoding="md5">
<connection name="testhost10">
<protocol>ssh</protocol>
<param name="hostname">192.168.1.10
<param name="port">22
<param name="username">root
<param name="password">123456
<param name="enable-sftp">true #sftp参数配置(没有安装则以下sftp可不用添加)
<param name="sftp-hostname">192.168.1.10
<param name="sftp-root-directory">/data/sftp
<param name="sftp-username">sftp
<param name="sftp-password">123456
<param name="color-scheme">white-black #远程登录显示字体颜色
</connection>
<connection name="Windows server">
<protocol>rdp</protocol>
<param name="hostname">192.168.0.19
<param name="port">3389
<param name="username">administrator
</connection>
</authorize>
</user-mapping>
其中itybku是登陆web界面的用户名密码,后面的password是使用md5加密的密码,具体可以使用如下方法生成加密密码:
printf '%s' "www.361way.com" | md5sum
当然web界面的用户名密码也可以使用明文配置,只需要更换authorize 为如下内容:
<authorize username="itybku" password="PASSWORD">
该文件里可以配置多个用户,不用的用户管理不同的主机。
五、启用管理
使用下面的命令启动guacamole及其管理界面:
/etc/init.d/guacd start
sh startup.sh (tomcat目录)
登陆管理界面,就可以查看对应的主机信息如下:
进期连接过的主机会以缩略图的方式在上面显示。此时也可以使用chrome浏览器,F12打开发模式界面,在console里查看websocket的连接信息,你如果足够牛X,也可以看下源码,在浏览器的console里进行websocket交互。
本篇同容先到这里,后面可以聊下连接数据的配置。
分类:
http/html/web,开源软件
标签:
web
文章导航
<上一个 上篇文章: Prometheus 的四种数据类型下一个> 下篇文章: Guacamole使用数据库
《guacamole web网关平台的使用》有1条评论
Pingback: Guacamole使用数据库 - 运维之路
发表回复 取消回复您的电子邮箱地址不会被公开。 必填项已用*标注评论 * 显示名称 *
电子邮箱地址 *
网站地址
在此浏览器中保存我的显示名称、邮箱地址和网站地址,以便下次评论时使用。
&#916;
跳至页脚
搜索搜索
捐赠本站
如您感觉本博客有用,可扫码捐赠本站!
分类
C/C++/Java/Delphi
Docker/k8s/etcd
ftp/dhcp/nfs/samba/mail/vpn
http/html/web
IT动态
Linux/unix/mac
perl/php/python/gawk/sed
shell脚本学习
windows
区块链
协同敏捷自动化
大数据
安全/漏洞
平台架构
开源软件
数据库
未分类
杂七杂八
生活堆砌
虚拟化云和自动化
读史知慧
标签分类Ansible
apache
awk
centos7
C语言
docker
golang
iptables
java
k8s
KVM
linux
linux高级篇
lvs
monitor
mysql
nagios
nginx
oracle
pandas
php
prometheus
python
python模块
redis
regex
RHCA
RHCE
rhel7
safe
saltstack
SecureCRT
sed
selenium
shell
sqlserver
SRE
ssh
tomcat
varnish
windows
wordpress
zabbix
故障案例
生活
归档
归档
选择月份 2022年11月 (1)
2022年10月 (1)
2022年9月 (2)
2022年8月 (3)
2022年7月 (3)
2022年6月 (6)
2022年5月 (5)
2022年4月 (4)
2022年3月 (3)
2022年2月 (1)
2022年1月 (5)
2021年12月 (2)
2021年11月 (2)
2021年10月 (2)
2021年9月 (12)
2021年8月 (5)
2021年7月 (1)
2021年6月 (2)
2021年5月 (1)
2021年4月 (3)
2021年3月 (2)
2021年2月 (1)
2021年1月 (9)
2020年12月 (3)
2020年11月 (1)
2020年10月 (9)
2020年9月 (4)
2020年8月 (6)
2020年7月 (2)
2020年6月 (3)
2020年5月 (3)
2020年4月 (4)
2020年3月 (3)
2020年2月 (5)
2019年12月 (5)
2019年11月 (3)
2019年10月 (5)
2019年9月 (7)
2019年8月 (5)
2019年7月 (6)
2019年6月 (6)
2019年5月 (7)
2019年4月 (8)
2019年3月 (7)
2019年2月 (7)
2019年1月 (8)
2018年12月 (15)
2018年11月 (13)
2018年10月 (8)
2018年9月 (12)
2018年8月 (12)
2018年7月 (5)
2018年6月 (5)
2018年5月 (5)
2018年4月 (5)
2018年3月 (5)
2018年2月 (8)
2018年1月 (7)
2017年12月 (4)
2017年11月 (3)
2017年10月 (6)
2017年9月 (5)
2017年8月 (8)
2017年7月 (6)
2017年6月 (5)
2017年5月 (6)
2017年4月 (2)
2017年3月 (6)
2017年2月 (7)
2017年1月 (14)
2016年12月 (5)
2016年11月 (7)
2016年10月 (7)
2016年9月 (11)
2016年8月 (12)
2016年7月 (7)
2016年6月 (11)
2016年5月 (18)
2016年4月 (10)
2016年3月 (9)
2016年2月 (9)
2016年1月 (10)
2015年12月 (10)
2015年11月 (10)
2015年10月 (17)
2015年9月 (14)
2015年8月 (25)
2015年7月 (15)
2015年6月 (19)
2015年5月 (23)
2015年4月 (15)
2015年3月 (22)
2015年2月 (15)
2015年1月 (24)
2014年12月 (15)
2014年11月 (16)
2014年10月 (19)
2014年9月 (19)
2014年8月 (18)
2014年7月 (20)
2014年6月 (21)
2014年5月 (24)
2014年4月 (18)
2014年3月 (29)
2014年2月 (22)
2014年1月 (22)
2013年12月 (24)
2013年11月 (20)
2013年10月 (19)
2013年9月 (18)
2013年8月 (17)
2013年7月 (21)
2013年6月 (21)
2013年5月 (19)
2013年4月 (17)
2013年3月 (25)
2013年2月 (21)
2013年1月 (18)
2012年12月 (24)
2012年11月 (18)
2012年10月 (17)
2012年9月 (18)
2012年8月 (18)
2012年7月 (26)
2012年6月 (36)
2012年5月 (36)
2012年4月 (28)
2012年3月 (46)
2012年2月 (23)
2012年1月 (17)
2011年12月 (27)
2011年11月 (59)
2011年10月 (20)
2011年9月 (16)
2011年8月 (46)
浙公网安备 33010802007315号
浙ICP备14037069号-2