手把手搭建Guacamole教程

2018-09-12  本文已影响184人  wuzsheng

初始Guacamole

作用

在浏览器上远程操作虚拟机适用于Chrome,Firefox,IE10等浏览器(浏览器需要支持HTML5)

Guacamole的介绍以及架构

其由许多部件组成的轻量级web应用程序,大部分的功能依靠Guacamole的底层组件>来完成。

用户通过浏览器连接到Guacamole的服务端。Guacamole的客户端是用JavaScript编写的,Guacamole server通过web容器(比如tomcat)把服务提供给用户。一旦加载,客户端通过http承载着Guacamole自己的定义的协议与服务端通信。

部署在Guacamole server这边的Web应用程序,解析到的Guacamole protocal,就传给Guacamole的代理guacd(中间层),这个代理(guacd)实际上就是解析Guacamole protocal,替用户连接到远程机器

guacamole-serve配置

系统环境:

CentOS7.2 + Tomcat8.5 + JDK18 + guacamole-server0.9.14

安装必要环境:

rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

yum -y install
http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

安装依赖包

yum -y install cairo-devel libjpeg-devel libpng-devel uuid-devel 

yum -y install ffmpeg-devel freerdp-devel pango-devel libssh2-devel 

yum -y install libtelnet-devel libvncserver-devel pulseaudio-libs-devel 

yum -y install openssl-devel libvorbis-devel libwebp-devel

yum -y install freerdp-plugins

下载安装包:

下载地址:Guacamole安装包

guacamole-server安装

tar -zvxf guacamole-server-0.9.14.tar.gz -C /opt
cd /opt/guacamole-server-0.9.14/
./configure --with-initdir=/etc/init.d
make #编译
makeinstall #安装

编译安装成功效果

启动guacd服务

/etc/init.d/guacd start

guacd

安装client

将war包移至webapps/

mv guacamole-0.9.14.war /usr/local/tomcat/apache-tomcat-8.5.33/webapps
[其会自动解压]

查看效果

登录http://IP:8080/guacamole-0.9.14

Guacamole界面

创建guacamole配置文件和目录

mkdir /etc/guacamole/

创建guacamole.properties文件

vim  /etc/guacamole/guacamole.properties
guacd-hostname: localhost
guacd-port: 4822
user-mapping.xml: /etc/guacamole/user-mapping.xml
enable-clipboard-integration: true

创建授权文件 user-mapping.xml

vim /etc/guacamole/ user-mapping.xml
<user-mapping>
<authorize password="123456" username="admin"> #登录界面账号密码
<connection name="rdp-10.0.102.149">

登入界面

Guacamole界面 初始界面

添加服务器

vim /etc/guacamole/ user-mapping.xml

<user-mapping>
        <authorize password="123456" username="admin"> #登录界面账号密码
                <connection name="rdp-10.0.102.149">
                <protocol>rdp</protocol>  #RDP协议配置
                <param name="hostname">10.0.102.149</param> #远程主机IP
                <param name="port">3389</param> #rdp 默认端口
                <param name="username">admin123</param> #远程主机用户
                <param name="password">qwer1234!</param> #远程主机用户密码
                </connection> 
        <connection name="ssh-10.0.102.219">
                <protocol>ssh</protocol>
                <param name="hostname">10.0.102.219</param>
                <param name="port">22</param>
                <param name="username">root</param>
                <param name="password">cnhope</param>
                <param name="enable-sftp">true</param>  #sftp参数配置(没有安装则以下sftp可不用添加)
                <param name="sftp-hostname">10.0.102.219</param>
                <param name="sftp-root-directory">/data/sftp</param>
                <param name="sftp-username">sftp</param>
                <param name="sftp-password">123</param>
                <param name="color-scheme">white-black</param> #远程登录显示字体颜色
        </connection>
      </authorize>
</user-mapping>

重启guacd并登录

/etc/init.d/guacd restart

guacd重启
Guacamole界面
Guacamole界面

扩展

SFTP安装

是要在每一台linux服务器上进行配置的,你要登录哪台机器,需要上传文件到该机器上,就需要配置SFTP

1.创建sftp用户组/用户

groupadd sftp
useradd -g sftp -s /sbin/nologin -M sftp

2.设置密码

echo "123"|passwd --stdin sftp

3.创建sftp根目录,即存放文件的目录

mkdir -p /data/sftp
chown root:sftp /data/sftp
chmod 770 /data/sftp

4.编辑sshd_config文件

vim /etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server // 注释这一条配置
新增以下配置
Subsystem sftp internal-sftp
Match User sftp
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory /data/sftp

字体设置

在生产中发现ssh协议连接linux机器,会出现乱码的情况。这是因为guacamole机器字体不对,可以从windows机器下载黑体和宋体字到linux机器上

1.查看是否有安装fontconfig

cd /usr/shared/fonts
(没有该目录则
yum -y install fontconfig)

2.在windows系统拷贝字体

进入windows C:\Windows\Fonts中

win7字体

3.选择宋体和黑体

宋体和黑体,两个后缀名为ttf和ttc的文件

4.将字体放进linux

在/usr/shared/fonts目录下新建一个目录chinese
mkdir /usr/shared/fonts/chinese
将windows下两个字体,放置在该目录下
vi /etc/fonts/fonts.conf

fonts.conf文件

更新字体缓存并查看

内存中的字体缓存
fc-cache
可查看字体列表
fc-list

字体列表

问题

tomcat关闭后重启后,但进程没有启动
方法
进入/usr/local/tomcat/apache-tomcat-8.5.33/conf/server.xml文件
将以下这段删除<Contextpath="/"docBase="guacamole"debug="0"privileged="true"reloadable="true"/>
便可启动

问题:如下图guacd重启失败
解决:
netstat -lntp 发现guacd进程未关闭
将guacd的进程号kill掉
kill -9 +guacd进程号


guacd重启失败

问题

guacd登陆界面
linux系统日志

由上图可得该错误是由系统本身缺少fonts字体

方法
参照上述扩展内容 字体步骤,在windons将字体拷贝至centos中

上一篇下一篇

猜你喜欢

热点阅读