Guacamole là bảng điều khiển máy tính từ xa miễn phí, mã nguồn mở và dựa trên web được sử dụng để 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 chuẩn như VNC, RDP, SSH và Kubernetes và bạn không cần phải cài đặt bất kỳ phần mềm nào trên máy khách. Nó hỗ trợ clipboard, truyền tệp qua SFTP và cho phép bạn quản lý nhiều phiên máy tính từ xa.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình máy khách máy tính từ xa Guacamole trên máy chủ Ubuntu 20.04.
Sau khi hệ thống của bạn được cập nhật, hãy khởi động lại hệ thống để áp dụng các thay đổi.
Sau khi tất cả các phần phụ thuộc được cài đặt, bạn có thể tiến hành bước tiếp theo.
Sau khi cài đặt máy chủ Tomcat, hãy khởi động dịch vụ Tomcat và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh sau:
Bạn cũng có thể xác minh trạng thái của dịch vụ Tomcat bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Đầu tiên, tải xuống phiên bản mới nhất của Guacamole từ trang web Apache bằng lệnh sau:
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, hãy thay đổi thư mục thành thư mục đã giải nén và chạy tập lệnh cấu hình để kiểm tra xem có bất kỳ phụ thuộc bắt buộc nào bị thiếu hay không:
Nếu mọi thứ ổn, bạn sẽ thấy đầu ra sau:
Bây giờ, biên dịch và cài đặt Guacamole Server bằng cách chạy lệnh sau:
Tiếp theo, chạy lệnh sau để cập nhật bộ nhớ đệm thư viện đã cài đặt của hệ thống:
Tiếp theo, bật và khởi động dịch vụ Guacamole bằng lệnh sau
Bây giờ bạn có thể kiểm tra trạng thái của dịch vụ Guacamole bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Đầu tiên, tải xuống tệp nhị phân Guacamole bằng lệnh sau:
Sau khi tải xuống tệp nhị phân Guacamole, hãy sao chép tệp này vào thư mục /etc/guacamole bằng lệnh sau:
Tiếp theo, tạo liên kết tượng trưng của máy khách guacamole tới thư mục webapps Tomcat bằng lệnh sau:
Cuối cùng, hãy khởi động lại Tomcat và dịch vụ Guacamole để triển khai ứng dụng web mới:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Trước tiên, hãy tạo tệp cấu hình chính của Guacamole có tên là guacamole.properties.
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, bạn sẽ cần tạo thư mục cho thư viện và tiện ích mở rộng. Bạn có thể tạo chúng bằng lệnh sau:
Tiếp theo, đặt biến môi trường thư mục gốc guacamole và thêm nó vào tệp cấu hình /etc/default/tomcat9.
Tiếp theo, bạn sẽ cần tạo một tệp có tên là user-mapping.xml để xác định người dùng được phép truy cập vào giao diện người dùng web Guacamole.
Trước khi tạo tệp, hãy tạo băm md5 cho mật khẩu bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Lưu ý: Hãy nhớ mật khẩu md5 ở trên. Bạn sẽ cần phải định nghĩa mật khẩu này trong tệp user-mapping.xml.
Tiếp theo, tạo một user-mapping.xml mới bằng lệnh sau:
Lưu và đóng tệp khi bạn hoàn tất.
Nơi:
Tại thời điểm này, máy chủ và máy khách Guacamole đã được cài đặt và định cấu hình.
Cung cấp tên người dùng và mật khẩu mà bạn đã xác định trong tệp user-mapping.xml và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển Guacamole ở trang sau:
Bây giờ, hãy nhấp vào Ubuntu20.04-Server để kết nối máy chủ từ xa bằng giao thức SSH. Bạn sẽ thấy màn hình đăng nhập của máy chủ Ubuntu như hiển thị bên dưới:
Cung cấp mật khẩu gốc của máy chủ Ubuntu và nhấn Enter. Bạn sẽ đăng nhập vào máy chủ Ubuntu như hiển thị bên dưới:
Trước tiên, hãy cài đặt máy chủ web Nginx bằng lệnh sau:
Sau khi cài đặt Nginx, hãy tạo tệp cấu hình máy chủ ảo Nginx mới:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, bật máy chủ ảo Nginx bằng lệnh sau:
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi cấu hình:
Bây giờ, bạn có thể truy cập Guacamole của mình bằng URL http://your-server-ip.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình máy khách máy tính từ xa Guacamole trên máy chủ Ubuntu 20.04.
Điều kiện tiên quyết
- Máy chủ chạy Ubuntu 20.04 với RAM tối thiểu 2GB.
- Máy chủ được cấu hình mật khẩu gốc.
Bắt đầu
Trước tiên, bạn sẽ cần cập nhật hệ thống của mình lên phiên bản ổn định mới nhất. Bạn có thể thực hiện việc này bằng cách cập nhật tất cả các gói hệ thống bằng lệnh sau:
Mã:
apt-get update -y
Cài đặt các phụ thuộc bắt buộc
Trước tiên, bạn sẽ cần cài đặt một số phụ thuộc trong máy chủ của mình để biên dịch Guacamole từ nguồn. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
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
Cài đặt Tomcat Server
Guacamole sử dụng Tomcat để phục vụ nội dung máy khách guacamole cho những người dùng kết nối với máy chủ guacamole qua trình duyệt web. Vì vậy, máy chủ Tomcat phải được cài đặt trong máy chủ của bạn. Nếu chưa cài đặt, bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y
Mã:
systemctl start tomcat9
systemctl enable tomcat9
Mã:
systemctl status tomcat9
Mã:
? tomcat9.service - Máy chủ ứng dụng web Apache Tomcat 9 Đã tải: đã tải (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ Tue 2020-08-25 14:48:50 UTC; 29 phút trước Tài liệu: https://tomcat.apache.org/tomcat-9.0-doc/index.html Tiến trình: 27982 ExecStartPre=/usr/libexec/tomcat9/tomcat-update-policy.sh (code=exited, status=0/SUCCESS) PID chính: 27990 (java) Nhiệm vụ: 38 (giới hạn: 4691) Bộ nhớ: 241,5M CGroup: /system.slice/tomcat9.service ??27990 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.l>
Cài đặt Guacamole
Theo mặc định, gói Guacamole không khả dụng trong kho lưu trữ mặc định của Ubuntu 20.04. Vì vậy, bạn sẽ cần biên dịch nó từ nguồn.Đầu tiên, tải xuống phiên bản mới nhất của Guacamole từ trang web Apache bằng lệnh sau:
Mã:
wget https://downloads.apache.org/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz
Mã:
tar -xvzf guacamole-server-1.1.0.tar.gz
Mã:
cd guacamole-server-1.1.0
./configure --with-init-dir=/etc/init.d
Mã:
freerdp2 ............ yes pango ............. có libavcodec .......... có libavutil ........... có libssh2 ............. có libssl .............. có libswscale .......... có libtelnet ........... có libVNCServer ........ có libvorbis ........... có libpulse ............ không libwebsockets ....... không libwebp ............. có wsock32 ............. không Hỗ trợ giao thức: Kubernetes .... không RDP ........... có SSH ........... có Telnet ........ có VNC ........... có Dịch vụ / công cụ: guacd ...... có guacenc .... có guaclog .... có Plugin FreeRDP: /usr/lib/x86_64-linux-gnu/freerdp2 Tập lệnh khởi tạo: /etc/init.d Đơn vị Systemd: khôngGõ "make" để biên dịch guacamole-server.
Mã:
make
make install
Mã:
ldconfig
Mã:
systemctl enable guacd
systemctl start guacd
Mã:
systemctl status guacd
Mã:
? guacd.service - LSB: Guacamole proxy daemon Đã tải: đã tải (/etc/init.d/guacd; đã tạo) Đang hoạt động: đang hoạt động (đang chạy) kể từ Tue 2020-08-25 12:02:26 UTC; 4 giây trước Tài liệu: man:systemd-sysv-generator(8) Quy trình: 27536 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS) Nhiệm vụ: 1 (giới hạn: 4691) Bộ nhớ: 10,1M CGroup: /system.slice/guacd.service ??27555 /usr/local/sbin/guacd -p /var/run/guacd.pid25 tháng 8 12:02:26 ubuntu2004 systemd[1]: Đang khởi động LSB: Guacamole proxy daemon...25 tháng 8 12:02:26 ubuntu2004 guacd[27551]: Guacamole proxy daemon (guacd) phiên bản 1.1.0 đã khởi động25 tháng 8 12:02:26 ubuntu2004 guacd[27536]: Đang khởi động guacd:25 tháng 8 12:02:26 ubuntu2004 guacd[27551]: Đang khởi động guacd:25 tháng 8 12:02:26 ubuntu2004 guacd[27551]: uacd[27551]: THÔNG TIN: Guacamole proxy daemon (guacd) versio25 tháng 8 12:02:26 ubuntu2004 systemd[1]: Đã khởi động LSB: Guacamole proxy daemon.25 tháng 8 12:02:26 ubuntu2004 guacd[27555]: Đang lắng nghe trên máy chủ 127.0.0.1, cổng 482225 tháng 8 12:02:26 ubuntu2004 guacd[27536]: uacd[275
Cài đặt Guacamole Client
Tiếp theo, bạn sẽ cần cài đặt Guacamole client trên máy chủ của mình. Guacamole client được viết bằng Java và đa nền tảng. Điều này sẽ tạo nên ứng dụng HTML5 cuối cùng sẽ được trình bày cho bạn.Đầu tiên, tải xuống tệp nhị phân Guacamole bằng lệnh sau:
Mã:
wget https://mirrors.estointernet.in/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war
Mã:
mkdir /etc/guacamole
mv guacamole-1.1.0.war /etc/guacamole/guacamole.war
Mã:
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/
Mã:
systemctl restart tomcat9
systemctl restart guacd
Cấu hình Guacomole
Tiếp theo, bạn cần cấu hình người dùng và kết nối để Guacamole hoạt động bình thường.Trước tiên, hãy tạo tệp cấu hình chính của Guacamole có tên là guacamole.properties.
Mã:
nano /etc/guacamole/guacamole.properties
Mã:
guacd-hostname: localhostguacd-port: 4822user-mapping: /etc/guacamole/user-mapping.xml
Tiếp theo, bạn sẽ cần tạo thư mục cho thư viện và tiện ích mở rộng. Bạn có thể tạo chúng bằng lệnh sau:
Mã:
mkdir /etc/guacamole/{extensions,lib}
Mã:
echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat9
Trước khi tạo tệp, hãy tạo băm md5 cho mật khẩu bằng lệnh sau:
Mã:
echo -n yoursecurepassword | openssl md5
Mã:
(stdin)= 55b38b03e7587a45fd886977842ff9b8
Tiếp theo, tạo một user-mapping.xml mới bằng lệnh sau:
Mã:
nano /etc/guacamole/user-mapping.xml
Mã:
ssh 192.168.10.50 22 root rdp 192.168.10.51 3389
Nơi:
- 192.168.10.50 là địa chỉ IP của máy chủ Ubuntu từ xa.
- 192.168.10.51 là địa chỉ IP của máy chủ Windows đã xóa.
Mã:
systemctl restart tomcat9
systemctl restart guacd
Truy cập Giao diện web Guacamole
Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện web Guacamole bằng URL http://your-server-ip:8080/guacamole. Bạn sẽ được chuyển hướng đến trang đăng nhập Guacamole:Cung cấp tên người dùng và mật khẩu mà bạn đã xác định trong tệp user-mapping.xml và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển Guacamole ở trang sau:
Bây giờ, hãy nhấp vào Ubuntu20.04-Server để kết nối máy chủ từ xa bằng giao thức SSH. Bạn sẽ thấy màn hình đăng nhập của máy chủ Ubuntu như hiển thị bên dưới:
Cung cấp mật khẩu gốc của máy chủ Ubuntu và nhấn Enter. Bạn sẽ đăng nhập vào máy chủ Ubuntu như hiển thị bên dưới:
Cấu hình Nginx cho Guacamole
Bạn nên cấu hình Nginx làm proxy ngược để truy cập Guacamole qua cổng 80.Trước tiên, hãy cài đặt máy chủ web Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Mã:
nano /etc/nginx/sites-available/guacamole.conf
Mã:
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 Nâng cấp $http_upgrade; proxy_set_header Kết nối $http_connection; proxy_cookie_path /guacamole/ /; }}
Mã:
ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/
Mã:
systemctl restart nginx