Guacamole分为客户端和服务端两部分,客户端是一个Web应用,而服务端则是C语言写的一个网络监听程序。 它支持的协议包括:RDP、SSH、VNC、Telnet等,另外还预留了其他协议的支持。 本文是基于0.9.9版本编写的,官方只给出了Linux版本的服务端程序。
官网地址:http://guacamole.incubator.apache.org
CentOS release 6.5 (Final) Ubuntu 14.04.1 LTS 如果您的操作系统是CentOS则要用下面yum命令来安装,如果是Ubuntu的话则用apt命令。
首先要安装基础依赖库: yum install libpng-devel libjpeg-devel cairo-devel uuid-devel apt-get update && apt-get install libcairo2-dev libjpeg62-dev libpng12-dev libossp-uuid-dev 安装远程协议的依赖库: apt-get update && apt-get install libfreerdp-dev libssh2-1-dev libpango1.0-dev libtelnet-dev libvncserver-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev 接下来就是典型的通过Makefile来编译、安装程序了: ./configure --with-init-dir=/etc/init.d make make install ldconfig 而客户端程序则是一个war包,只要放到支持Servlet的Web容器(例如Tomcat)中即可。
/etc/init.d/guacd restart
以下是服务端饿配置 /etc/guacamole/guacad.conf 示例如下: [codesyntax lang="ini"]
[daemon]
pid_file = /var/run/guacd.pid
log_level = info
[server]
bind_host = localhost
bind_port = 4822
[ssl]
server_certificate = /etc/ssl/certs/guacd.crt
server_key = /etc/ssl/private/guacd.key
[/codesyntax] 以下是客户端的配置: guacamole.properties 该配置文件用于配置客户端连接服务端的地址(端口)信息,如果客户端和服务端在同一台机器上的话,可以不用配置。 示例如下: [codesyntax lang="text"]
guacd-hostname:localhost
guacd-host:localhost
guacd-post:4822
auth-provider:net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
[/codesyntax] user-mapping.xml 该配置文件用于配置用户的认证信息,修改完需要重启Web应用才能生效。可以放在当前的用户(suren)目录下,Windows系统的路径如下: C:\Users\suren\.guacamole\user-mapping.xml 示例如下: [codesyntax lang="xml"]
<user-mapping>
<authorize username="root" password="123456">
<connection name="ssh_192.168.64.50">
<protocol>ssh</protocol>
<param name="hostname">192.168.64.50</param>
<param name="port">22</param>
<param name="username">ftp</param>
<param name="password">ftp</param>
</connection>
<connection name="rdp_localhost">
<protocol>rdp</protocol>
<param name="hostname">localhost</param>
<param name="port">3389</param>
<param name="username">ftp</param>
<param name="password">ftp</param>
</connection>
</authorize>
</user-mapping>
[/codesyntax]