centos7安装配置guacamole(转http://blog.51cto.com/zengestudy/2093041)

guacamole安装配置

系统环境:

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

安装必要环境:

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

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

yum update -y

安装依赖包

yum -yinstallcairo-devel libjpeg-devel libpng-devel uuid-devel  yum -yinstallffmpeg-devel  freerdp-devel pango-devel libssh2-devel yum -yinstalllibtelnet-devel libvncserver-devel pulseaudio-libs-devel  yum -yinstallopenssl-devel libvorbis-devel libwebp-develyum -yinstallfreerdp-plugins##不安装剪切板不能用

下载安装包:

下载地址:https://guacamole.apache.org/releases/0.9.14/

centos7安装配置guacamole(转http://blog.51cto.com/zengestudy/2093041)_第1张图片

guacamole-server安装

tarzxf guacamole-server-0.9.14.tar.gz -C /optcd/opt/guacamole-server-0.9.14/./configure --with-init-dir=/etc/init.d##确认是否所有协议都支持------------------------------------------------ 

Library status: 

freerdp.............yes

pango...............yes

libavcodec..........yes

libavutil...........yes

libssh2.............yes

libssl..............yes

libswscale..........yes

libtelnet...........yes

libVNCServer........yes

libvorbis...........yes

libpulse............yes

libwebp.............yes

wsock32............. no 

Protocol support:      RDP.......yes

SSH.......yes

Telnet....yes

VNC.......yes

Services / tools:      guacd......yes

guacenc....yes

Init scripts: /etc/init.dmake&&makeinstall

启动guacd服务

# /etc/init.d/guacd startStarting guacd: SUCCESS

安装guacamole client

1、首先安装jdk 和tomcat,安装过程省略

2、安装client

mvguacamole-0.9.14.war /usr/local/tomcat/webapps

3、修改tomcat server.xml配置

4、启动tomcat

/etc/init.d/tomcat start

5、使用nginx做反向代理

vim /etc/nginx/conf.d/jump.conf

配置如下

upstream jumpserver{server 127.0.0.1:8080;}server{listen      80;server_name  jumpserver.xxx.com;charset utf-8;access_log /var/log/nginx/access_80.log main;location /{proxy_pass http://jumpserver;proxy_buffering off;proxy_http_version 1.1;proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_header Upgrade$http_upgrade;proxy_set_header Connection$http_connection;access_log off;}}

写一个tomcat启动脚本

#!/bin/bash# description: Tomcat Start Stop Restart# processname: tomcat# chkconfig: 234 20 80JAVA_HOME=/usr/java/jdk1.8.0_151exportJAVA_HOME PATH=$JAVA_HOME/bin:$PATHexportPATH CATALINA_HOME=/usr/local/tomcatcase$1instart)sh$CATALINA_HOME/bin/startup.sh;;stop)sh$CATALINA_HOME/bin/shutdown.sh;;restart)sh$CATALINA_HOME/bin/shutdown.sh sh$CATALINA_HOME/bin/startup.sh;;esacexit0

启动tomcat服务

chmod+x /etc/init.d/tomcat/etc/init.d/tomcat start

创建guacamole配置文件和目录

mkdir/etc/guacamole/

创建guacamole.properties文件

vim  guacamole.propertiesguacd-hostname: localhostguacd-port:    4822user-mapping.xml: /etc/guacamole/user-mapping.xmlenable-clipboard-integration:true

创建授权文件 user-mapping.xml

rdp172.16.0.1013040administrator6bcr"ZqK*LgD;assh172.16.2.1422cpzengDtihsvkr/Sp8gd4rztrue127.0.0.1/data/sftpsftp123ssh172.16.2.322cpzengDtihsvkr/Sp8gd4rztrue127.0.0.1/data/sftpsftp123

每一个用户都有一个独立配置段包起来,还可以使用md5加密的密码

使用明文密码使用加密的密码

要远程连接的主机用配置段包起来

ssh172.16.2.1422cpzengDtihsvkr/Sp8gd4rztrue127.0.0.1/data/sftpsftp123

connection配置中有几个参数是必须的,

protocol :使用的协议,如rdp、ssh、vnc

hostname: 主机ip

port:端口

username:登录使用的账号

password: 登录密码

enable-sftp:被连接的linux主机开启sftp,需要在linux服务器上配置sftp,下面会讲如何配置

sftp-hostname:sftp服务器的ip,为本机127.0.0.1,我测试过写其他开启了sftp服务器机器ip,最后还是连到本机的sftp上了

sftp-root-directory:登录linux机器后,sftp指定的路径,如果不配置改选项,则默认为/目录,可以使用web界面来选择上传文件的路径,

如果要上传文件,则登录用户要有目标路径的写入权限,比如登录用户为user1,希望将文件上传到/opt/app目录,则user1要对/opt/app目录有写入权限。所有最好指定一个为777权限的路径

sftp-username:sftp登录用户名

sftp-password:sftp密码

使用guacamole

登录guacamole控制台

http://ip:8080/guacamole-0.9.14

centos7安装配置guacamole(转http://blog.51cto.com/zengestudy/2093041)_第2张图片

这里的账号密码使用/etc/guacamole/user-mapping.xml文件中配置段中的username和password

如上面例子中账号密码为admin/123456,注意中的username和password是服务器的账户密码

centos7安装配置guacamole(转http://blog.51cto.com/zengestudy/2093041)_第3张图片

登录后选择要远程连接的机器

centos7安装配置guacamole(转http://blog.51cto.com/zengestudy/2093041)_第4张图片

上传文件

同时按住control + alt + shift

在Devices标签下点击配置sftp路径(/data/sftp),点击Upload

Files按钮,在弹出的窗口选择要上传的文件即可。注意:需要授权用户对目标路径有写入权限,我这里将/data/sftp目录权限设置为777了,之前一直提示无法上传文件,改了权限就正常了

centos7安装配置guacamole(转http://blog.51cto.com/zengestudy/2093041)_第5张图片

SFTP配置

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

groupaddsftpuseradd-gsftp-s /sbin/nologin -Msftp

设置密码:

passwdsftp

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

mkdir-p /data/sftpchownroot:sftp /data/sftpchmod770 /data/sftp

修改sshd_config配置

#Subsystem sftp /usr/libexec/openssh/sftp-server  // 注释这一条配置,

新增以下配置

Subsystemsftpinternal-sftpMatch UsersftpX11Forwarding no        AllowTcpForwarding no        ForceCommand internal-sftp        ChrootDirectory /data/sftp

vsftpd配置

windows服务器可以使用vsftpd来上传下载文件

生产环境vsftpd配置文件如下:

anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=YESlisten_ipv6=NOpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YESchroot_local_user=YESascii_upload_enable=YESascii_download_enable=YESasync_abor_enable=YESlocal_root=/var/ftp/opsanon_root=/var/ftp

生产环境中的ftp禁止了匿名登录,只能让运维人员使用ops账号登录

[root@SRV-OPS10-JUMP02 ~]# ll /var/ftp/total 0drwxr-xr-x 3 root root 19 May  2 11:18 opsdrwxr-xr-x 2 root root  6 Aug  3  2017 pub[root@SRV-OPS10-JUMP02 ~]# ll /var/ftp/ops/total 0drwxr-x--- 2 ops ops 34 May  2 13:02 upload[root@SRV-OPS10-JUMP02 ~]# ll /var/ftp/ops/upload/total 0-rw-r--r-- 1 ops ops 0 May  2 12:39 New Text Document.txt

测试环境的vsftpd.conf配置

anon_upload_enable=YESanonymous_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=NOlisten_ipv6=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YESallow_writeable_chroot=YESchroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_listlocal_root=/var/ftpanon_root=/var/ftp/pub

补充

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

具体操作方法请参考

https://www.linuxidc.com/Linux/2016-09/135548.htm

如果想更换ssh登陆后的字体和颜色,可以在ssh配置中加上color-scheme 参数配置,可选参数:black-white、gray-black、green-black、white-black

例如:

ssh10.9.186.18822ansiblepoKh8gwRmla4e"white-black

你可能感兴趣的:(centos7安装配置guacamole(转http://blog.51cto.com/zengestudy/2093041))