美文网首页
手把手搭建Guacamole教程

手把手搭建Guacamole教程

作者: wuzsheng | 来源:发表于2018-09-12 00:19 被阅读184次

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

    相关文章

      网友评论

          本文标题:手把手搭建Guacamole教程

          本文链接:https://www.haomeiwen.com/subject/dhipgftx.html