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ý hệ thống Linux và Windows từ trình duyệt web. Nó hỗ trợ các giao thức tiêu chuẩn như VNC, RDP, SSH và Kubernetes và bạn không cần 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à định cấu hình máy khách từ xa Guacamole trên máy chủ Ubuntu 20.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04 với RAM tối thiểu 2GB.
- Mật khẩu root được cấu hình trên máy chủ.
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:
apt-get update -y
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.
Cài đặt các phụ thuộc cần thiết
Trước tiên, bạn sẽ cần cài đặt một số phần phụ thuộc trong máy chủ của mình để biên dịch từ nguồn. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
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
Sau khi cài đặt tất cả các phần phụ thuộc, bạn có thể tiến hành bước tiếp theo.
Cài đặt máy chủ Tomcat
Guacamole sử dụng Tomcat để phân phát nội dung máy khách cho người dùng kết nối với máy chủ thông 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 nó bằng lệnh sau:
apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y
Sau khi cài đặt máy chủ Tomcat, hãy khởi động dịch vụ Tomcat và cho phép nó khởi động khi khởi động lại hệ thống bằng lệnh sau:
systemctl start tomcat9systemctl enable tomcat9
Bạn cũng có thể xác minh trạng thái của dịch vụ Tomcat bằng lệnh sau:
systemctl status tomcat9
Bạn sẽ nhận được kết quả đầu ra sau:
? tomcat9.service - Apache Tomcat 9 Web Application Server
Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-08-25 14:48:50 UTC; 29min ago
Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html
Process: 27982 ExecStartPre=/usr/libexec/tomcat9/tomcat-update-policy.sh (code=exited, status=0/SUCCESS)
Main PID: 27990 (java)
Tasks: 38 (limit: 4691)
Memory: 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>
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Cài đặt Guacamole
Theo mặc định, gói Guacamole không có sẵn trong kho lưu trữ mặc định của Ubuntu 20.04. Vì vậy, bạn sẽ cần phải 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:
wget https://downloads.apache.org/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz
Sau khi quá trình 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:
tar -xvzf guacamole-server-1.1.0.tar.gz
Tiếp theo, thay đổi thư mục thành thư mục được giải nén và chạy tập lệnh cấu hình để kiểm tra xem có thiếu phụ thuộc cần thiết nào hay không:
cd guacamole-server-1.1.0./configure --with-init-dir=/etc/init.d
Nếu mọi thứ đều ổn, bạn sẽ thấy kết quả đầu ra sau:
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ây giờ, biên dịch và cài đặt Server bằng cách chạy lệnh sau:
makemake install
Tiếp theo, chạy lệnh sau để cập nhật bộ đệm của các thư viện đã cài đặt trong hệ thống của bạn:
ldconfig
Tiếp theo, kích hoạt và khởi động dịch vụ bằng lệnh sau
systemctl enable guacdsystemctl start guacd
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:
systemctl status guacd
Bạn sẽ nhận được kết quả đầu ra sau:
? guacd.service - LSB: Guacamole proxy daemon
Loaded: loaded (/etc/init.d/guacd; generated)
Active: active (running) since Tue 2020-08-25 12:02:26 UTC; 4s ago
Docs: man:systemd-sysv-generator(8)
Process: 27536 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 4691)
Memory: 10.1M
CGroup: /system.slice/guacd.service
??27555 /usr/local/sbin/guacd -p /var/run/guacd.pid
Aug 25 12:02:26 ubuntu2004 systemd[1]: Starting LSB: Guacamole proxy daemon...
Aug 25 12:02:26 ubuntu2004 guacd[27551]: Guacamole proxy daemon (guacd) version 1.1.0 started
Aug 25 12:02:26 ubuntu2004 guacd[27536]: Starting guacd:
Aug 25 12:02:26 ubuntu2004 guacd[27551]: Starting guacd:
Aug 25 12:02:26 ubuntu2004 guacd[27551]: uacd[27551]: INFO: Guacamole proxy daemon (guacd) versio
Aug 25 12:02:26 ubuntu2004 systemd[1]: Started LSB: Guacamole proxy daemon.
Aug 25 12:02:26 ubuntu2004 guacd[27555]: Listening on host 127.0.0.1, port 4822
Aug 25 12:02:26 ubuntu2004 guacd[27536]: uacd[275
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Cài đặt ứng dụng khách Guacamole
Tiếp theo, bạn sẽ cần cài đặt ứng dụng khách Guacamole trên máy chủ của mình. Máy khách Guacamole đượ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:
wget https://mirrors.estointernet.in/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war
Sau khi tải xuống tệp nhị phân Guacamole, hãy sao chép nó vào thư mục /etc/guacamole bằng lệnh sau:
mkdir /etc/guacamolemv guacamole-1.1.0.war /etc/guacamole/guacamole.war
Tiếp theo, tạo một liên kết tượng trưng của máy khách guacamole tới thư mục ứng dụng web Tomcat bằng lệnh sau:
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/
Cuối cùng, khởi động lại dịch vụ Tomcat và Guacamole để triển khai ứng dụng web mới:
systemctl restart tomcat9systemctl restart guacd
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Định cấu hình Guacomole
Tiếp theo, bạn cần định cấu hình người dùng và kết nối để Guacamole hoạt động bình thường.
Đầu tiên, tạo tệp cấu hình chính Guacamole có tên guacamole.properties.
nano /etc/guacamole/guacamole.properties
Thêm các dòng sau:
guacd-hostname: localhost
guacd-port: 4822
user-mapping: /etc/guacamole/user-mapping.xml
Lưu và đóng tập tin 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:
mkdir /etc/guacamole/{extensions,lib}
Tiếp theo, đặt biến môi trường thư mục chính guacamole và thêm nó vào tệp cấu hình /etc/default/tomcat9.
echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat9
Tiếp theo, bạn sẽ cần tạo một tệp có tên user-mapping.xml để xác định người dùng được phép truy cập giao diện người dùng web Guacamole.
Trước khi tạo nó, hãy tạo hàm băm md5 cho mật khẩu bằng lệnh sau:
echo -n yoursecurepassword | openssl md5
Bạn sẽ thấy đầu ra sau:
(stdin)= 55b38b03e7587a45fd886977842ff9b8
Lưu ý : Hãy nhớ mật khẩu md5 ở trên. Bạn sẽ cần xác định điề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:
nano /etc/guacamole/user-mapping.xml
<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>
Lưu và đóng tập tin khi bạn hoàn tất.
Ở đâu:
- 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 loại bỏ.
Tiếp theo, khởi động lại dịch vụ Tomcat và Guacamole để áp dụng các thay đổi:
systemctl restart tomcat9systemctl restart guacd
Tại thời điểm này, máy chủ và máy khách Guacamole đã được cài đặt và cấu hình.
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ư bên dưới:
Cung cấp mật khẩu gốc của máy chủ Ubuntu của bạn và nhấn Enter . Bạn sẽ đăng nhập vào máy chủ Ubuntu như hình dưới đây:
Định cấu hình Nginx cho Guacamole
Bạn nên định cấu hình Nginx làm proxy ngược để truy cập Guacamole thông qua cổng 80.
Đầu tiên, cài đặt máy chủ web Nginx bằng lệnh sau:
apt-get install nginx -y
Sau khi cài đặt Nginx, hãy tạo tệp cấu hình máy chủ ảo Nginx mới:
nano /etc/nginx/sites-available/guacamole.conf
Thêm các dòng sau:
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/ /;
}
}
Lưu và đóng tập tin khi bạn hoàn tất. Sau đó, kích hoạt máy chủ ảo Nginx bằng lệnh sau:
ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi cấu hình:
systemctl restart nginx
Bây giờ, bạn có thể truy cập Guacamole của mình bằng URL http://your-server-ip.
Phần kết luận
Chúc mừng! bạn đã cài đặt và định cấu hình thành công máy khách máy tính từ xa Guacamole trên máy chủ Ubuntu 20.04. Giờ đây, bạn có thể thêm nhiều kết nối RDP hoặc VNC hơn vào Guacamole của mình và bắt đầu quản lý chúng từ giao diện dựa trên web.
Tham Khảo:
Đăng ký liền tay Nhận Ngay Bài Mới
Subscribe ngay
Cám ơn bạn đã đăng ký !
Lỗi đăng ký !
Add Comment