Guacamole là một Control Panel dựa trên nền web hoàn toàn miễn phí và mã nguồn mở sử dụng cho việc quản lí các hệ thống Linux và Windows từ trình duyệt Web. Nó hỗ trợ các giao thức cơ bản như VNC, RDP, SSH và Kubernetes cũng như hỗ trợ về clipboard, truyền file qua SFTP và cho phép chúng ta quản lí nhiều phiên remote Desktop cùng một lúc
Hôm nay mình sẽ hướng dẫn các bạn cài đặt Guacamole Remote Desktop Client trên Ubuntu 20.04 LTS
Mục lục
Yêu cầu
- Một máy chủ đang chạy Ubuntu 20.04 với ít nhất 2GB RAM
- Quyền truy cập vào User root
Hướng dẫn cài đặt
Bước 1: Cập nhật hệ thống lên phiên bản mới nhất sử dụng câu lệnh
apt-get update -y
Bước 2: Cài đặt một số các phần mềm yêu cầu của phần mềm
apt-get install make gcc g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev libssl-dev libvorbis-dev libwebp-dev -y
Bước 3: Cài đặt Tomcat Server dùng câu lệnh
apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y
Bước 4: Sau cài xong, chúng ta kích hoạt Tomcat khởi động cùng hệ thống bằng câu lệnh
systemctl start tomcat9 systemctl enable tomcat9
Bước 5: Tiến hành tải về Guacamole bằng câu lệnh
wget https://downloads.apache.org/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz
Xả nén ra bằng câu lệnh
tar -xvzf guacamole-server-1.1.0.tar.gz
Tiến hành kiểm tra trước khi biên dịch
cd guacamole-server-1.1.0 ./configure --with-init-dir=/etc/init.d
Nếu bạn thấy output xuất ra như dưới đây là đã thành công rồi đó
freerdp2 ............ yes pango ............... yes libavcodec .......... yes libavutil ........... yes libssh2 ............. yes libssl .............. yes libswscale .......... yes libtelnet ........... yes libVNCServer ........ yes libvorbis ........... yes libpulse ............ no libwebsockets ....... no libwebp ............. yes wsock32 ............. no Protocol support: Kubernetes .... no RDP ........... yes SSH ........... yes Telnet ........ yes VNC ........... yes Services / tools: guacd ...... yes guacenc .... yes guaclog .... yes FreeRDP plugins: /usr/lib/x86_64-linux-gnu/freerdp2 Init scripts: /etc/init.d Systemd units: no Type "make" to compile guacamole-server.
Bước 6: Tiến hành biên dịch
make make install
Bước 7: Cập nhật system cache
ldconfig
Bước 8: Khởi động và kích hoạt Guacamole Services
systemctl enable guacd systemctl start guacd
Cài đặt Guacamole Client
Bước 1: Tải về Guacamole binary sử dụng câu lệnh
wget https://mirrors.estointernet.in/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war
Sau khi Download xong, copy chúng vào thư mục /etc/guacamole
mkdir /etc/guacamole mv guacamole-1.1.0.war /etc/guacamole/guacamole.war
Tạo một symbolic link tới thư mục Tomcat Webapps
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/
Khởi động lại Tomcat và Guacamole Services
systemctl restart tomcat9 systemctl restart guacd
Cấu hình Guacamole
Tạo một file cấu hình của Guacamole
nano /etc/guacamole/guacamole.properties
Thêm các dòng sau vào và lưu lại
guacd-hostname: localhost guacd-port: 4822 user-mapping: /etc/guacamole/user-mapping.xml
Tạo thư mục cho library và extension
mkdir /etc/guacamole/{extensions,lib}
Thiết đặt biến môi trường và thêm vào file cấu hình của tomcat
echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat9
Giờ chúng ta sẽ tạo file user-mapping.xml để định nghĩa các user cho phép đăng nhập vào giao diện web của Guacamole
Chúng ta sẽ tạo mã md5 cho mật khẩu của bạn
echo -n mật khẩu của bạn | openssl md5
Bạn sẽ thấy output như thế này, hãy ghi nhớ đoạn hash được tạo ra
(stdin)= 55b38b03e7587a45fd886977842ff9b8
Giờ chúng ta sẽ tạo file user-mapping.xml sử dụng câu lệnh
nano /etc/guacamole/user-mapping.xml
Nội dung File như sau
<user-mapping> <authorize username="admin" password="55b38b03e7587a45fd886977842ff9b8" encoding="md5"> <connection name="Ubuntu20.04-Server"> <protocol>ssh</protocol> <param name="hostname">192.168.10.50</param> <param name="port">22</param> <param name="username">root</param> </connection> <connection name="Windows Server"> <protocol>rdp</protocol> <param name="hostname">192.168.10.51</param> <param name="port">3389</param> </connection> </authorize> </user-mapping>
Trong đây
- 55b38b03e7587a45fd886977842ff9b8: Là mã MD5 vừa tạo ở bước trên
- 192.168.10.50: Là địa chỉ của máy chủ remote Linux
- 192.168.10.51: Là địa chỉ của máy chủ remote Windows
Sau đó khởi động lại service của Guacamole và Tomcat bằng các câu lệnh
systemctl restart tomcat9 systemctl restart guacd
Sử dụng Guacamole trên nền web
Tiến hành truy cập vào Guacamole bằng địa chỉ http://IP của bạn:8080/guacamole
Sau đó đăng nhập bằng tài khoản bạn đã chỉ ra trong file user-mapping.xml
Ở đây bạn sẽ thấy 2 server chúng ta vừa thêm ở trên
Ví dụ khi kết nối vào Server Ubuntu, bạn sẽ thấy thông báo nhập password. Sau khi nhập Password bạn sẽ truy cập được vào Server
Cấu hình Nginx cho Guacamole
Chúng ta nên cấu hình Nginx làm reverse Proxy để truy cập Guacamole qua Port 80
Cài đặt Nginx sử dụng câu lệnh sau
apt-get install nginx -y
Tạo một file cấu hình Nginx mới cho Guacamole
nano /etc/nginx/sites-available/guacamole.conf
Thêm các dòng sau vào
server { listen 80; server_name your-server-ip; access_log /var/log/nginx/guac_access.log; error_log /var/log/nginx/guac_error.log; location / { proxy_pass http://your-server-ip:8080/guacamole/; 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; proxy_cookie_path /guacamole/ /; } }
Kích hoạt Nginx Virutal Host
ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/
Khởi động lại Nginx
systemctl restart nginx
Giờ bạn có thể truy cập vào Guacamole bằng IP của bạn không cần thêm 8080/guacamole nữa
Máy chủ vật lý
4 Lợi Ích Thiết Thực Mà Máy Chủ Vật Lý Mang Lại Cho Doanh Nghiệp
Trong thời đại chuyển đổi số mạnh mẽ như hiện nay, việc đầu tư vào [...]
Giải pháp
Cách Phòng Chống DDoS Cho Website, VPS, và Server Hiệu Quả
Các cuộc tấn công DDoS (Distributed Denial of Service) là một mối đe dọa lớn [...]
Chưa được phân loại portal portal cloudzone Về Portal
Mã đăng nhập Portal Cloudzone là gì? 3 cách lấy mã đăng nhập
Ngày nay, khi công nghệ số phát triển mạnh mẽ, việc bảo mật thông tin [...]
Cloud hosting Blog
So sánh Cloud Hosting cPanel, DirectAdmin và Plesk
Khi lựa chọn dịch vụ Cloud Hosting để lưu trữ website hoặc ứng dụng, một [...]
Cloud VPS
[2024] Kinh Nghiệm Chọn VPS Treo Game Không Lo Gián Đoạn
Với sự phát triển nhanh chóng của các trò chơi trực tuyến, việc duy trì [...]
Blog
Tuyển Đại lý dịch vụ Cloud – Chiết khấu đến 35%
Cloudzone tuyển đại lý dịch vụ Cloud, Data Center với lợi nhuận không giới hạn, [...]