超详细讲解搭建guacamole实现远程桌面
?
由于項目需求需要一個遠程桌面的內容,開始調研了guacamole,畢竟大廠,下面說下集成細節,希望幫助更多小伙伴。
官網地址:http://guacamole.apache.org/
由于項目不需要Kubernetes與group等內容,只是簡單的遠程桌面,這里就使用了1.0.0的版本。
根據官網地址選擇下載客戶端與服務端
1、環境準備
按照API內容,服務端需要依賴更改lib,這里選擇yum安裝。API地址:http://guacamole.apache.org/doc/gug/
---安裝gcc環境
yum install gcc---guacamole基礎依賴有以下:直接yum安裝
In order to build?guacamole-server, you will need?Cairo,?libjpeg,?libpng, and the OSSP UUID library. These libraries are strictly required?in all cases?- Guacamole cannot be built without them.
yum install -y cairo-devel libjpeg-turbo-devel libpng-devel uuid-devel---額外依賴,我們需要什么協議就安裝即可,其他如下,有rdp、vnc、ssh等協議支持
yum install -y freerdp-devel pango-devel libssh2-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel注意:這里需要注意下,如果使用rdp的協議,由于centos是新版本,yum下載的也是最新版的2.0的rdp,在后續檢測的時候是檢測不到安裝了rdp的。需要手動安裝rdp1.0以上但不要太高的版本。這里選擇1.2版本的freerdp。當然如果選擇了1.1.0的guacamole就不會有這樣的問題,畢竟新版支持的是2.0+的freerdp。
---下面安裝freerdp1.2的版本,導入源
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---安裝1.2版本freerdp
yum list | grep freerdp yum install freerdp1.2.x86_64 yum install freerdp1.2-devel.x86_642、安裝guacamole服務端
解壓下載的guacamole-server-1.0.0.tar.gz任意目錄都可以,并將config加入到init中,日志輸出依賴包情況。
tar -xzf guacamole-server-1.1.0.tar.gz cd guacamole-server-1.1.0/ ./configure --with-init-dir=/etc/init.d日志輸出依賴項,主要看protocol support是否符合自己的業務要求,我這里有rdp就可以了。下面的guacd是必須的,沒他是不可以的,檢查沒有問題之后,直接開始安裝。
在當前目錄下執行
make make install ldconfig安裝完成之后,可以使用以下來看guacd是否安裝成功。
service guacd start service guacd stop service guacd restart到這里我們的服務端就安裝好了
注意:服務端默認監控的host為localhost,端口為4822,這些后續我們會根據業務需求進行修改。
3、安裝guacamole客戶端
(這個客戶端可裝可不裝,看自己需求,如果使用guacamole-common搭建自己的服務,就不需要安裝,我們后續介紹,這里建議安裝下,畢竟可以測試一下我們是否成功了)
安裝客戶端需要一個tomcat與jdk的環境,這里大家自行準備吧,我使用的是jdk8與tomcat8.0
解壓tomcat,將我們下載的guacamole-1.0.0.war,放入webapp目錄下。
---這里需要注意下在啟動客戶端之前我們首先需要配置服務端需要的配置文件。配置文件目錄地址官方提供兩種:第一種在tomcat的目錄種創建.guacamole的目錄,第二種創建/etc/guacamole目錄,這里使用第二種。
cd /etc mkdir guacamole這里配置文件有很多具體參考官方在這里我們配置三個配置文件
---guacamole.properties 主要是配置guacamole服務端連接的guac的主機和端口,如果不配置,默認為localhost與4822
touch guacamole.properties # Hostname and port of guacamole proxy guacd-hostname: 10.0.30.50 guacd-port: 4822---user-mapping.xml 這個是配置我們需要連接的設備的配置,1.1.0之后也可以用數據庫去配置,配置很簡單
touch user-mapping.xml <user-mapping><!-- 這么配置用hhb登陸之后會看到設備選擇頁面 --><authorize username="hhb" password="hhb123"><connection name="test1"><protocol>rdp</protocol><param name="hostname">10.0.30.224</param><param name="port">3389</param><param name="username">admin</param><param name="password">123456</param></connection><connection name="test2"><protocol>ssh</protocol><param name="hostname">10.0.30.47</param><param name="port">22</param></connection></authorize><!-- 這么配置用hhb2登陸之后直接進入ssh窗口 --><authorize username="hhb2" password="hhb123"><protocol>ssh</protocol><param name="hostname">10.0.30.47</param><param name="port">22</param></authorize></user-mapping>authorize:后續登陸客戶端的賬戶密碼,
connection:用來配置一個用戶下的多個設備,如果只配置單個設備,進入客戶端只會顯示當前設備頁面,不會有多個設備供選擇的頁面,這里建議使用,因為后續我們做web集成時候使用。
protocol:我們要訪問設備的協議rdp\ssh\vnc等
parma:是當前協議下的一些參數,主要都是端口ip用戶名等。
---guacd.conf 這個配置文件不是給客戶端用的,而是用來修改guacd服務端默認的端口ip。由于我們設備不在當前網卡上,我們配置一下將localhost更改為ip地址。
touch guacd.conf # # guacd configuration file #[daemon]pid_file = /var/run/guacd.pid log_level = info[server]bind_host = 10.0.30.50 bind_port = 4822# # The following parameters are valid only if # guacd was built with SSL support. #注意:更改guacd.conf之后需要重啟服務端,更改其他配置文件需要重啟客戶端。
直接啟動tomcat即可啟動客戶端。具體頁面如下
注意:如果遇到賬戶403的時候,請檢查usermapping配置文件的格式,可以直接復制我的。
登陸之后的效果我就不截圖了,就是遠程的的頁面了,或者選擇設備的頁面。
溫馨提示:下一片內容主要講解javaweb如何集成guacamole使用,集成方式有很多,有需要的同學可以看看。
?
提示:guacamole還有一些其他的認證方式
這些內容官網說的很直白了,就不在贅述了,無非下載jar添加到指定目錄,重新啟動。
總結
以上是生活随笔為你收集整理的超详细讲解搭建guacamole实现远程桌面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 绍兴市人力资源和社会保障局异地数据容灾系
- 下一篇: js实现拖动排序