遠程桌面網關 Apache Guacamole 1.0.0 部署-基於Docker方式


原文鏈接

2019-01-08 Apache Guacamole發布了最新版本1.0.0 

Apache Guacamole是一個使用Web(H5)做為前端的遠程桌面網關,支持對使用VNC、RDP、Telnet和SSH協議服務器的遠程訪問

官網地址:http://guacamole.apache.org/

Guacamole架構

1> Web瀏覽器
用戶通過瀏覽器連接和管理后端的服務器,即可以是Linux服務器,也可以是Windows服務器。因為是H5頁面,實際上,甚至可以在移動設備,如手機上進行訪問
2>guacamole
guacamole是用戶與guacd交互的中轉站,主要功能是權限管理、配置管理和協議轉換,實際上是一個Web服務器,通常是Tomcat,用戶登錄到guacamole上之后,鑒權通過后,會請求后端的guacd
3>guacd
guacd實現與后端真實服務器的通信,支持VNC、RDP、Telnet和SSH協議

搭建

演示環境基於CentOS 7.3

安裝 Docker 18.06.1
yum install wget
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.06.1.ce-3.el7.x86_64.rpm
yum install docker-ce-18.06.1.ce-3.el7.x86_64.rpm  #docker安裝有依賴,所以使用yum來自動安裝各種依賴
# 注docker 18不需要使用國內加速,不需要執行vi /etc/docker/daemon.json添加{"registry-mirrors": ["https://registry.docker-cn.com"]}
systemctl start docker
systemctl enable docker
部署 guacd 1.0.0
# 拉取鏡像
docker pull guacamole/guacd:1.0.0
# 查看鏡像
docker images
# guacd 不需要映射端口 兩個容器間通過 link 方式通信 容器名假設為 my-guacd
docker run --name my-guacd -d --restart always guacamole/guacd:1.0.0
docker run --name some-guacd -d -p 4822:4822 guacamole/guacd:1.0.0    # -p設置端口號
部署 guacamole 1.0.0
# 拉取鏡像
docker pull guacamole/guacamole:1.0.0
# guacamole支持mysql數據庫和postgresql數據庫存儲認證數據 這里使用mysql
# mysql也可以啟用容器 但這里剛好有一個實例 故mysql使用外部實例
# 使用mysql需要創建數據庫用戶和數據庫 這里數據庫用戶為guacamole 密碼為guacamole 數據庫名為guacamole
# 生成數據庫初始化代碼
docker run --rm guacamole/guacamole:1.0.0 /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
# 生成的initdb.sql是數據庫初始化腳本  在guacamole庫執行一下
# 該腳本會生成一個默認管理員帳號 guacadmin guacadmin
# 啟動容器
docker run --name my-guacamole --link my-guacd:guacd \
-e MYSQL_HOSTNAME=192.168.1.88 \
-e MYSQL_PORT=3306 \
-e MYSQL_DATABASE=guacamole \
-e MYSQL_USER=guacamole \
-e MYSQL_PASSWORD=guacamole \
-d -p 80:8080 --restart always guacamole/guacamole:1.0.0
# 訪問
http://192.168.1.110/guacamole/
用戶名:guacadmin 密碼:guacadmin
# 其它參數
GUACD_HOSTNAME
GUACD_PORT
其他

>使用Nginx反向代理
# 開啟WebSocket 即 Upgrade 和 Connection 兩參數

>數據庫權限

CREATE DATABASE guacamole ;
CREATE USER 'guacamole'@'192.168.1.%' IDENTIFIED BY 'guacamole ';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole.* TO 'guacamole'@'192.168.1.%';
FLUSH PRIVILEGES;

>呼出/隱藏面板 Ctrl + Alt + Shift  或 在屏幕上向左滑動

>傳輸文件  SSH 啟用SFTP功能  需要指定遠程服務器上的一個文件夾
SFTP -> Enable SFTP
SFTP -> File browser root directory #設置一個文件上傳下載的工作目錄

>傳輸文件 RDP 虛擬磁盤驅動器
注意 驅動器目錄為guacd服務器上的一個目錄,該目錄需guacd的用戶可讀寫
Device Redirection -> Enable drive
Device Redirection -> Drive name  #掛載到windows中的遠程磁盤名稱
Device Redirection -> Drive path   #guacd服務器上的一個目錄
Device Redirection -> Automatically create drive  #若上步指定的目錄不存在 則自動創建

>操作記錄 SSH
將操作記錄到文件 並可回放
文件記錄存放於guacd服務器上
Typescript -> Typescript path   #存放目錄
Typescript -> Typescript name #文件名
Typescript -> Automatically create typescript path  #若指定的目錄不存在則自動創建
回放方法:
scriptreplay filename.timing filename   #filename是Typescript name設置的值
filename.timing 記錄操作的時點點偏移量
filename 是記錄屏幕內容  保留字體顏色

>操作記錄 RDP
生成視頻文件
需要guacenc實用程序 該程序依賴ffmpeg libavcodec libavutil libswscale
生成filename.m4v文件命令
guacenc filename
guaclog filename

添加主機

登錄&效果

添加Linux主機 SSH方式

選項非常多,最少必填項為
[EDIT CONNECTION]段
Name  會話名稱
Location  位置,默認是ROOT
Protocol 協議,選SSH
[PARAMETERS]段
Network部分
Hostname 主機名或IP
Porrt 端口,一般為22
Authentication部分
Username 用戶名
Password 密碼
## 個人偏好
Display -> Color scheme: green-black  #字體為綠色 背景為黑色 比較養眼
Display -> Font size: 12  #字體大小
Terminal behavior -> Terminal type: xterm  #區分顏色顯示

添加Windows主機 RDP方式

選項非常多,最少必填項為
[EDIT CONNECTION]段
Name  會話名稱
Location  位置,默認是ROOT
Protocol 協議,選RDP
[PARAMETERS]段
Network部分
Hostname 主機名或IP
Porrt 端口,一般為3389
Authentication部分
Username 用戶名
Password 密碼
Security mode 安裝驗證方式,選Any  實際上極可能是rdp
Ignore server certificate 勾選,忽略服務器證書 通常是自簽名證書 驗證通常不通過
## 個人偏好
Display -> Resize method: Reconnect  #更改瀏覽器尺寸后 自動重連適配
Performance -> Enable theming  #顯示主題  否則界面不美觀
# 默認啟動了音頻重定向的
漢化

guacamole 默認未提供簡體中文語言包,但可以自己添加
語言文件位於容器內 /usr/local/tomcat/webapps/guacamole/translations 目錄下,是 json 文件,如英文為
/usr/local/tomcat/webapps/guacamole/translations/en.json

注意,新添加語言包后,容器要重啟才會生效
[個別地方翻譯得不夠准確  可自行修改以下文件]

rpm方式:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM