手把手搭建Guacamole教程

初始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中

转载于:https://my.oschina.net/wuzsheng/blog/2052043

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值