日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Guacamole 远程桌面

發布時間:2023/12/20 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Guacamole 远程桌面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文將Apache的guacamole服務的部署和應用,http://guacamole.apache.org/doc/gug/? 該鏈接下有全部相關知識的英文文檔,如果水平ok,可以去這里仔細查看。

一、簡介

Apache Guacamole 是無客戶端的遠程桌面網關。它支持VNC,RDP,SSH等標準協議。guacamole的客戶端是html5 web應用程序,因此通過訪問瀏覽器,就可以訪問到遠程桌面。大家應該使用過Microsoft的mstsc,或者VNC,又或者teamviewer,這些都是基于C/S架構的遠程桌面連接組件,而guacamole卻做到了基于B/S的遠程桌面連接。下圖介紹了guacamole的整個體系:

這里稍作講解,guacamole包括兩大部分,guacamole-client和guacamole-server。client是一個web服務器,實現了對server的遠程訪問。server則實現了client和遠程桌面服務的橋梁。server中包括了一個servlet容器,和一個guacd服務。準確來說,是這個guacd服務實現了對遠程桌面服務的代理。例如,你的遠程電腦中安裝了一個vnc服務器,那么這個guacd就你能實現從guacamole到這個vnc服務器的連接,完成代理工作。一個完整的guacamole應用體系,至少應該是這樣的:一個guacamole-client,一個guacamole-server, server中包括了guacd,一個遠程主機的vnc服務器。當用戶訪問client,client則將請求發送到server,server利用guacd進行協議轉化,guacd從遠程主機中的vnc服務器中獲取實時畫面,并將其返回給server,server加工處理后返回給client,用戶就能看到一個實時畫面監控的頁面了。(本文由開源中國-千里明月-原創 ,https://my.oschina.net/u/3490860/。如有雷同,純屬抄襲。)

二、適應場景

guacamole能夠實現多方面的用途,但我主要是為了實現java-web程序的網頁遠程監控,監控內網中的一部小型服務器。這樣子的話,我起碼需要三個東西,一個web服務器,一個guacamole服務器部署在Linux上,一個vnc服務(guacamole支持不同的遠程協議,rdp、vnc等,我只實現vnc)部署在遠程主機上。要完成這么一個工程,需要各個方面的環境搭建,下面一一介紹。

安裝環境:

我以centOS系統作為guacamole服務器的承載,工具使用secureCRT,通過SFTP傳輸文件。SFTP的基本命令如下:

pwd 查看遠程服務器當前目錄; lpwd 查看本地系統的當前目錄。 cd <dir> 將遠程服務器的當前目錄更改為<dir>; lcd <dir> 將本地系統的當前目錄更改為<dir>。 ls 顯示遠程服務器上當前目錄的文件名; ls -l 顯示遠程服務器上當前目錄的文件詳細列表; ls <pattern> 顯示遠程服務器上符合指定模式<pattern>的文件名; ls -l <pattern> 顯示遠程服務器上符合指定模式<pattern>的文件詳細列表。 lls 顯示本地系統上當前目錄的文件名; lls的其他參數與ls命令的類似。 get <file> 下載指定文件<file>; get <pattern> 下載符合指定模式<pattern>的文件。 put <file> 上傳指定文件<file>; get <pattern> 上傳符合指定模式<pattern>的文件。 progress 切換是否顯示文件傳輸進度。 mkdir <dir> 在遠程服務器上創建目錄; lmkdir <dir> 在本地系統上創建目錄。

?

三、安裝jdk

部署guacamole需要jdk和tomcat,先下載jdk8,下載地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

將文件通過SFTP傳入CentOS,tar -zvxf 命令解壓,重命名為java8。然后,配置環境變量。

輸入: sudo vim /etc/profile? 編輯環境變量。

在/etc/profile文件末尾加入:?

export JAVA_HOME=java8的路徑(可以進入java8目錄使用命令“pwd”查看) export PATH=$JAVA_HOME/bin:$PATH? export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar?

編輯好之后,保存退出。輸入:source?/etc/profile?更新環境變量。

為了驗證環境變量是否配置好,可以輸入$JAVA_HOME 查看,如果顯示出一行目錄,則正常。

再驗證jdk是否配置成功,輸入:java -version 如果輸入一下類似信息,則成功。

java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

四、安裝tomcat

? ? ? ? tomcat要8.0以上版本就行,下載地址:https://tomcat.apache.org/download-80.cgi

一樣的方式,將tomcat傳入了Linux,解壓,命名為tomcat。編輯環境變量

export CATALINA_HOME=/home/yue/tomcat export CATALINA_BASE= /home/yue/tomcat? ? ? ??

最后的/etc/profile文件配置的所有環境變量如下:

執行 source /etc/profile 使環境變量生效

進入tomcat? 的bin目錄

輸入./shtartup.sh

如果輸出類似tomcat started的啟動信息 ,則沒問題。但是我們必須保證并且內網能夠用http://ip:8080的方式訪問tomcat,如果不行,看看是不是防火墻或者ip限制的問題,具體設置可以查看iptables的資料 http://man.linuxde.net/iptables。如果不在乎安全問題,可以直接關閉防火墻。

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允許本地回環接口(即運行本機訪問本機) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允許已建立的或相關連的通行 iptables -A OUTPUT -j ACCEPT #允許所有本機向外的訪問 iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允許訪問22端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允許訪問80端口 iptables -A INPUT -p tcp --dport 21 -j ACCEPT #允許ftp服務的21端口 iptables -A INPUT -p tcp --dport 20 -j ACCEPT #允許FTP服務的20端口 iptables -A INPUT -j reject #禁止其他未允許的規則訪問 iptables -A FORWARD -j REJECT #禁止其他未允許的規則訪問

我這邊是已經配置成功了:

?

五、安裝必須的依賴庫

前面提到,Guacamole分為兩部分:提供guacd代理和相關庫的?guacamole-server,以及為servlet容器(通常為Tomcat)提供客戶端的guacamole-client。現在就先構建server。

guacamole-server 包含了guacamole連接到遠程桌面的必要組件,這些組件需要依賴一些庫。

guacd是guacamole-server的守護進程,接收來自web應用的隧道連接,然后代表guacamole連接到遠程桌面。

安裝必須的庫,來自官方的整理,以下這些庫都是必須安裝的。

輸入不同命令安裝:

sudo yum install cairo-develsudo yum install libjpeg-turbo-devel? 這個如果安裝不了就使用?sudo yum install libjpeg-develsudo yum install libpng-develsudo yum install uuid-devel另外還有兩個必須安裝的sudo yum install ffmpeg-develsudo yum install libvncserver-devel

?

六、安裝server

下一步,http://guacamole.apache.org/releases/0.9.14/ 這里下載guacamole-client和server的tar包,通過secureCRT傳到Linux,在Linux解壓,tar -zxvf 文件名。

在Linux上home/yue目錄下新建guacamole文件夾,將解壓后的server和client包移動進去。

進入解壓后的server包,guacamole-server-0.9.14目錄下,執行以下命令:

sudo .configure --with-init-dir=/etc/init.dsudo makesudo make installldconfig? (更新系統已安裝庫的緩存)

執行:? guacd?

彈出消息 guacd[23084]: INFO: ? ? Guacamole proxy daemon (guacd) version 0.9.14 started? 證明server安裝成功了。

?

七、安裝client

安裝guacamole-client(即web服務器)

進入guacamole-client-0.9.14 執行:

mvn package

$ mvn package [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] guacamole-common [INFO] guacamole-ext [INFO] guacamole-common-js [INFO] guacamole [INFO] guacamole-auth-jdbc [INFO] guacamole-auth-jdbc-base [INFO] guacamole-auth-jdbc-mysql [INFO] guacamole-auth-jdbc-postgresql [INFO] guacamole-auth-ldap [INFO] guacamole-auth-noauth [INFO] guacamole-client ... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] guacamole-common ................................... SUCCESS [ 7.566 s] [INFO] guacamole-ext ...................................... SUCCESS [ 5.594 s] [INFO] guacamole-common-js ................................ SUCCESS [ 1.249 s] [INFO] guacamole .......................................... SUCCESS [ 8.474 s] [INFO] guacamole-auth-jdbc ................................ SUCCESS [ 0.592 s] [INFO] guacamole-auth-jdbc-base ........................... SUCCESS [ 2.548 s] [INFO] guacamole-auth-jdbc-mysql .......................... SUCCESS [ 2.557 s] [INFO] guacamole-auth-jdbc-postgresql ..................... SUCCESS [ 1.990 s] [INFO] guacamole-auth-ldap ................................ SUCCESS [ 1.314 s] [INFO] guacamole-auth-noauth .............................. SUCCESS [ 0.961 s] [INFO] guacamole-client ................................... SUCCESS [ 1.721 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 34.701 s [INFO] Finished at: 2015-06-08T17:03:15-07:00 [INFO] Final Memory: 34M/340M [INFO] ------------------------------------------------------------------------ $

如果,你沒有mvn包,那么請先yum install maven

這個時候在當前目錄的guacamole/target目錄下,會有個guacamole-0.9.14.war包。將這個包復制到tomcat的webapps目錄下。這個tomcat就用我們上面配置好的。

sudo cp guacamole-0.9.14? tomcat的webapps目錄/guacamole.war

好了,啟動tomcat,局域網內訪問服務器的8080端口, http://ip:8080/guacamole,你會看到這樣的畫面

但是此時,你點擊登錄是沒有任何作用的,因為還要配置一些東西。

?

八、配置guacamole的環境:

?

1、GUACAMOLE_HOME

GUACAMOLE_HOME是Guacamole的默認配置目錄,可在/etc/profile中指定此目錄:

末尾加入? export GUACAMOLE_HOME=/home/yue/guacamole

當然如果不做配置,guacamole也會默認將/etc/guacamole作為GUACAMOLE_HOME,但是你需要自己去新建這個目錄。為了方便,我將它配置成了和server包,client包同一目錄。即/home/yue/guacamole

在該目錄下新建

guacamole.properties

這是主要的Guacamole配置文件。該文件中的屬性規定了Guacamole將如何連接到guacd。在文件中寫入:

guacd-hostname:localhost
guacd-port:4822

2、新建logback.xml

Guacamole使用稱為Logback的日志系統來處理所有消息。默認情況下,Guacamole只會登錄到控制臺,但可以通過提供你自己的Logback配置文件來改變它。我們寫成這樣就好:guacamole運行時,會生成guacamole.log在當前目錄,記錄所有debug級別的日志。

<configuration><appender name="FILE" class="ch.qos.logback.core.FileAppender"><file>/home/yue/guacamole/guacamole.log</file><encoder><pattern>%msg%n</pattern></encoder></appender><root level="debug"><appender-ref ref="FILE" /></root> </configuration>

3.新建user-mapping.xml? 寫入

<user-mapping><authorize username="test" password="test"><protocol>vnc</protocol><param name="hostname">192.168.162.15</param><param name="port">5900</param></authorize> </user-mapping>

這里是說,新增一個vnc服務器,服務器地址為192.168.162.15,vnc所有端口為5900,guacamole連接這個vnc服務器的用戶名和密碼為test,test。接下來的操作,不用我說也知道,

如果想配置多個連接,就寫多個authorize節點。

到此為止,GUACAMOLE_HOME的目錄下現在一共有一下幾個文件,

guacamole-client-0.9.14 guacamole-server-0.9.14 guacamole.properties logback.xml user-mapping.xml

user-mapping.xml文件寫入后,guacamole會自動去讀取,等一會兒后,就能生效,不需要重啟guacd或者tomcat。

不過,如果你以為這樣就能完事的話,那就錯了 ,因為還差最后一步,遠程主機vnc服務器的搭建!

九、vnc服務器搭建

vnc-server下載地址 https://www.realvnc.com/en/connect/download/vnc/

在遠程主機安裝vnc-server,我這里的遠程主機是window系統,ip地址為192.168.162.15,所以直接安裝exe就好。為了測試容易,把防火墻也關了吧,免得存在訪問限制問題。vnc服務器需要關閉密碼保護, 不然guacamole不能連接成功,端口也設置成5900。大概設置如下

好了,這個時候在guacamole登錄頁面上輸入test,test登錄,就能看到遠程主機的實時畫面了。

?

下一篇博客,我將會寫如果自己構建web程序,代替guacamole-client,并嵌入到java程序中,實現web系統集成guacamole。


?轉載至鏈接:https://my.oschina.net/u/3490860/blog/1831706



轉載原創文章請注明出處,轉載至: 梁鐘霖個人博客www.liangzl.com

轉載于:https://www.cnblogs.com/xiang--liu/p/10955119.html

總結

以上是生活随笔為你收集整理的Guacamole 远程桌面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。