Apache Guacamolelà một cổng máy tính từ xa miễn phí, mã nguồn mở, không cần máy khách. Nó hỗ trợ các giao thức chuẩn như SSH, RDP và VNC. Nó không cần bất kỳ plugin và máy khách của bên thứ ba nào để hoạt động. Bạn có thể truy cập máy tính của mình bằng cổng dựa trên web. Nó có thể được đặt sau một máy chủ proxy cho phép bạn truy cập máy chủ của mình từ bất kỳ đâu trên thế giới.
Guacamole bao gồm hai thành phần:
[*]
Cài đặt các gói tiện ích cơ bản. Một số trong số chúng có thể đã được cài đặt.
Tường lửa hoạt động với các vùng khác nhau và vùng công cộng là vùng mặc định mà chúng tôi sẽ sử dụng. Liệt kê tất cả các dịch vụ và cổng đang hoạt động trên tường lửa.
Nó sẽ hiển thị đầu ra sau.
Cho phép các cổng HTTP và HTTPS.
Kiểm tra lại trạng thái của tường lửa.
Bạn sẽ thấy đầu ra tương tự.
Tải lại tường lửa để kích hoạt các thay đổi.
Bước đầu tiên là cài đặt các thư viện cần thiết để xây dựng Guacamole. Cài đặt các thư viện cần thiết.
Các phụ thuộc trên là bắt buộc, nghĩa là không có chúng, không thể xây dựng Guacamole. Bạn có thể cài đặt một số phụ thuộc tùy chọn để thêm hỗ trợ cho nhiều giao thức và tính năng khác nhau.
Nhưng trước tiên, bạn cần kích hoạt RPMFusion Free Repository vì nó chứa gói ffmpeg-devel.
Cài đặt các phụ thuộc tùy chọn.
Chạy lệnh sau để cài đặt OpenJDK.
Xác minh cài đặt.
Sử dụng wget để tải Tomcat.
Giải nén tệp vào thư mục /opt/tomcat.
Thay đổi quyền sở hữu thư mục thành người dùng Tomcat.
Dán mã sau.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc lưu.
Tải lại daemon dịch vụ để bật dịch vụ Tomcat.
Bật và khởi động dịch vụ Tomcat.
Kiểm tra trạng thái dịch vụ.
Giải nén tệp lưu trữ và chuyển đến thư mục vừa tạo.
Chạy lệnh configure để xác định thư viện nào khả dụng và chọn các thành phần để xây dựng.
Thư mục /etc/systemd/system/ là nơi tập lệnh khởi động sẽ được cài đặt trong quá trình xây dựng để cấu hình Guacamole để tự động khởi động khi khởi động.
Bạn sẽ nhận được kết quả sau khi hoàn tất thành công.
Nếu bạn không cài đặt một số thư viện, bạn sẽ thấy no thay vì yes trong đầu ra. Nhưng nếu thiếu một thư viện quan trọng, lệnh sẽ không thành công. Để kiểm tra thêm các tùy chọn cấu hình, hãy chạy lệnh ./configure --help.
Biên dịch và cài đặt máy chủ Guacamole bằng cách sử dụng các lệnh sau.
Chạy lệnh sau để cập nhật bộ nhớ đệm của hệ thống các thư viện đã cài đặt.
Tải lại daemon dịch vụ.
Bật và khởi động dịch vụ Guacamole.
Xác minh trạng thái của dịch vụ.
Tạo thư mục cấu hình cho Guacamole.
Không giống như máy chủ Guacamole, máy khách Guacamole có sẵn ở dạng mã nguồn và nhị phân. Đối với hướng dẫn của chúng tôi, chúng tôi sẽ tải xuống nhị phân. Tuy nhiên, bạn có thể chọn xây dựng máy khách từ nguồn.
Tải xuống tệp nhị phân máy khách Guacamole từ trang web.
Lệnh trên tải xuống và sao chép tệp nhị phân Guacamole vào thư mục /etc/guacamole.
Để máy khách hoạt động, nó cần được triển khai từ thư mục của Tomcat, đó là $CATALINA_HOME/webapps/. Ở Bước 3, chúng ta đặt /opt/tomcat là $CATALINA_HOME.
Chạy lệnh sau để tạo liên kết tượng trưng từ /etc/guacamole/guacamole.war đến thư mục webapps Tomcat.
Thay đổi quyền của ứng dụng thành tomcat user.
Tạo tệp cấu hình ứng dụng web tại /etc/guacamole/guacd.conf.
Dán mã sau vào đó. Thay thế your_server_IP bằng địa chỉ IP công khai của máy chủ của bạn.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc lưu.
Khởi động lại máy chủ Guacamole và Tomcat để áp dụng các thay đổi.
Cài đặt MySQL.
Bật và khởi động dịch vụ MySQL.
Cài đặt MySQL an toàn.
Đối với bước đầu tiên, bạn sẽ được hỏi xem bạn có muốn thiết lập Plugin Xác thực mật khẩu hay không, plugin này có thể được sử dụng để kiểm tra độ mạnh của mật khẩu MySQL. Chọn Y để tiếp tục. Bạn sẽ được yêu cầu chọn mức xác thực mật khẩu ở bước tiếp theo. Chọn 2 là mức mạnh nhất và sẽ yêu cầu mật khẩu của bạn dài ít nhất tám ký tự và bao gồm hỗn hợp chữ hoa, chữ thường, số và ký tự đặc biệt.
Bạn sẽ được yêu cầu chọn mật khẩu gốc ở bước tiếp theo. Chọn mật khẩu mạnh đáp ứng các yêu cầu của plugin xác thực mật khẩu. Ở bước tiếp theo, bạn sẽ được hỏi có muốn tiếp tục với mật khẩu đã chọn hay không. Nhấn y để tiếp tục.
Nhấn Y rồi nhấn phím ENTER cho tất cả các lời nhắc sau để xóa người dùng ẩn danh và cơ sở dữ liệu thử nghiệm, vô hiệu hóa đăng nhập gốc và tải các quy tắc mới được đặt.
Vào shell MySQL. Nhập mật khẩu gốc của bạn để tiếp tục.
Tạo người dùng guacamole_user. Đảm bảo mật khẩu đáp ứng các yêu cầu đã đặt trước đó.
Tạo cơ sở dữ liệu guacamole_db.
Cấp quyền cho người dùng trên cơ sở dữ liệu guacamole_db.
Thoát khỏi Shell.
Các tiện ích mở rộng và thư viện yêu cầu các thư mục bổ sung. Hãy tạo chúng.
Đặt biến trang chủ Guacamole và lưu trữ nó trong tệp cấu hình /etc/default/tomcat.
Tải xuống Guacamole JDBC Plugin từ trang web của plugin này.
Giải nén plugin vào thư mục /etc/guacamole/extensions.
Tiếp theo bước là nhập lược đồ SQL vào cơ sở dữ liệu MySQL. Chuyển đến thư mục plugin đã giải nén.
Nhập các tệp lược đồ vào MySQL.
Tải xuống MySQL Java Connector. Lấy tệp lưu trữ độc lập với nền tảng. Vào thời điểm viết hướng dẫn này, phiên bản mới nhất hiện có là 8.0.28.
Giải nén tệp lưu trữ và sao chép nội dung của nó vào thư mục /etc/guacamole/lib.
Dán đoạn mã sau vào đó. Thay thế your_server_ip bằng địa chỉ IP công khai của máy chủ của bạn.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc lưu.
Liên kết thư mục cấu hình Guacamole với thư mục servlet Tomcat.
Khởi động lại Tomcat để bật xác thực cơ sở dữ liệu. Bạn không cần phải khởi động lại guacd vì nó hoàn toàn độc lập với ứng dụng web và không xử lý guacamole.properties hoặc xác thực cơ sở dữ liệu theo bất kỳ cách nào.
Chạy các lệnh sau để cài đặt Certbot.
Tạo chứng chỉ SSL.
Lệnh trên sẽ tải xuống chứng chỉ vào thư mục /etc/letsencrypt/live/guacamole.example.com trên máy chủ của bạn.
Tạo chứng chỉ nhóm Diffie-Hellman.
Tạo thư mục webroot thử thách để tự động gia hạn Let's Encrypt.
Tạo Cron Job để gia hạn SSL. Nó sẽ chạy hàng ngày để kiểm tra chứng chỉ và gia hạn nếu cần. Để thực hiện việc đó, trước tiên, hãy tạo tệp /etc/cron.daily/certbot-renew và mở tệp đó để chỉnh sửa.
Dán mã sau.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Thay đổi quyền trên tệp tác vụ để làm cho tệp đó có thể thực thi được.
Mở tệp /opt/tomcat/conf/server.xml để chỉnh sửa.
Xác định vị trí dòng sau trong tệp.
Thay đổi dòng bằng cách dán mã bổ sung bên dưới để trông giống như sau.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Xác minh cài đặt.
Bật dịch vụ Nginx.
Tạo và mở tệp /etc/nginx/conf.d/guacamole.conf để chỉnh sửa.
Dán mã sau vào đó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Mở tệp /etc/nginx/nginx.conf để chỉnh sửa.
Thêm dòng sau trước dòng include /etc/nginx/conf.d/*.conf;.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Xác minh cú pháp tệp cấu hình Nginx.
Sửa quyền SELinux để cho phép Nginx tạo kết nối mạng.
Khởi động dịch vụ Nginx để kích hoạt cấu hình mới.
Khởi động lại máy chủ Tomcat để áp dụng thay đổi cấu hình.
Nhập guacadmin làm tên người dùng và guacadmin làm mật khẩu và nhấp vào Đăng nhập để tiếp tục.
Chuyển sang tab Người dùng và nhấp vào nút Người dùng mới để bắt đầu.
Nhập thông tin chi tiết của bạn và đánh dấu tất cả các quyền.
Nhấp vào Lưu khi hoàn tất. Đăng xuất người dùng guacadmin và đăng nhập lại bằng người dùng mới tạo.
Quay lại màn hình người dùng. Chọn người dùng guacadmin để chỉnh sửa và nhấp vào nút Xóa ở cuối để xóa người dùng.
Vào menu Cài đặt của Guacamole và chọn Kết nối. Trong màn hình Connections, nhấn nút New Connection.
Chọn tên cho kết nối và chọn SSH làm giao thức từ menu thả xuống.
Trong phần Parameters, nhập địa chỉ IP của máy chủ làm tên máy chủ, 22 làm cổng (hoặc nếu bạn có cổng SSH tùy chỉnh, hãy sử dụng cổng đó) và tên người dùng của bạn. Nếu bạn đang sử dụng xác thực dựa trên mật khẩu, hãy nhập mật khẩu của người dùng hoặc dán khóa riêng. Nhập cụm mật khẩu cho khóa riêng nếu bạn đang sử dụng.
Nếu bạn muốn bật bất kỳ cài đặt bổ sung nào, hãy thực hiện thao tác đó. Nhấp vào Lưu để hoàn tất việc thêm kết nối.
Quay lại bảng điều khiển và nhấp vào tên kết nối bên dưới Tất cả kết nối, bạn sẽ được đưa đến thiết bị đầu cuối SSH.
Guacamole bao gồm hai thành phần:
- guacamole-server chứa tất cả các thành phần gốc, phía máy chủ mà Guacamole yêu cầu để kết nối với máy tính từ xa. guacd là daemon proxy chạy trên máy chủ Guacamole, chấp nhận kết nối của người dùng và sau đó kết nối chúng với máy tính để bàn từ xa.
- guacamole-client chứa tất cả các thành phần Java và Javascript của Guacamole tạo nên ứng dụng web nơi người dùng có thể kết nối với máy tính để bàn của họ.
Điều kiện tiên quyết
-
Một máy chủ chạy Rocky Linux 8 với tối thiểu 2GB RAM và 2 lõi CPU.
-
Một tên miền cho bộ phận trợ giúp trỏ đến máy chủ. Đối với hướng dẫn của chúng tôi, chúng tôi sẽ sử dụng tên miền uvdesk.example.com.
-
Người dùng không phải root có quyền sudo.
-
Đảm bảo mọi thứ được cập nhật.
Mã:
$ sudo dnf update
Cài đặt các gói tiện ích cơ bản. Một số trong số chúng có thể đã được cài đặt.
Mã:
$ sudo dnf install wget curl nano unzip yum-utils -y
Bước 1 - Cấu hình Tường lửa
Bước đầu tiên là cấu hình tường lửa. Rocky Linux sử dụng Tường lửa Firewalld. Kiểm tra trạng thái của tường lửa.
Mã:
$ sudo firewall-cmd --staterunning
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client ssh
Mã:
$ sudo firewall-cmd --permanent --add-service=http$ sudo firewall-cmd --permanent --add-service=https
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client http https ssh
Mã:
$ sudo firewall-cmd --reload
Bước 2 - Cài đặt thư viện
Trước khi cài đặt thư viện, chúng ta cần cài đặt kho lưu trữ EPEL và kích hoạt kho lưu trữ PowerTools.
Mã:
$ sudo dnf install epel-release -y$ sudo dnf config-manager --set-enabled powertools
Mã:
$ sudo dnf install cairo-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool libuuid-devel uuid-devel make cmake
Nhưng trước tiên, bạn cần kích hoạt RPMFusion Free Repository vì nó chứa gói ffmpeg-devel.
Mã:
$ sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
Mã:
$ sudo dnf install ffmpeg-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel libwebsockets-devel pulseaudio-libs-devel openssl-devel compat-openssl10 libvorbis-devel libwebp-devel libgcrypt-devel
Bước 3 - Cài đặt Apache Tomcat
Trong hướng dẫn này, chúng tôi sẽ cài đặt Apache Tomcat 9, yêu cầu Java 8 trở lên để hoạt động.Cài đặt Java
Chúng tôi sẽ cài đặt OpenJDK 11, phiên bản mã nguồn mở của nền tảng Java.Chạy lệnh sau để cài đặt OpenJDK.
Mã:
$ sudo dnf install java-11-openjdk-devel
Mã:
$ java -versionopenjdk 11.0.14 2022-01-18 LTSOpenJDK Runtime Environment 18.9 (bản dựng 11.0.14+9-LTS)OpenJDK 64-Bit Server VM 18.9 (bản dựng 11.0.14+9-LTS, chế độ hỗn hợp, chia sẻ)
Tạo người dùng Tomcat
Tiếp theo, tạo người dùng cho dịch vụ Tomcat. Chúng tôi sẽ đặt /opt/tomcat làm thư mục home.
Mã:
$ sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Tải xuống Tomcat
Phiên bản mới nhất của Tomcat v10 có thể được tải xuống từ trang tải xuống của nó. Tại thời điểm viết hướng dẫn này, v9.0.59 là phiên bản mới nhất hiện có. Kiểm tra phiên bản mới nhất trước khi tải Tomcat.Sử dụng wget để tải Tomcat.
Mã:
$ TVERSION=9.0.59$ wget https://dlcdn.apache.org/tomcat/tomcat-9/v${TVERSION}/bin/apache-tomcat-${TVERSION}.tar.gz
Mã:
$ sudo tar -xf apache-tomcat-${TVERSION}.tar.gz --strip-components=1 -C /opt/tomcat/
Mã:
$ sudo chown -R tomcat:tomcat /opt/tomcat
Tạo một tệp Systemd Unit và khởi động Tomcat
Tạo và mở tệp /etc/systemd/system/tomcat.service để chỉnh sửa.
Mã:
$ sudo nano /etc/systemd/system/tomcat.service
Mã:
[Unit]Mô tả=Apache Tomcat 9 Servlet containerWants=network.targetAfter=network.target[Service]Type=forkingUser=tomcatGroup=tomcatEnvironment="JAVA_HOME=/usr/lib/jvm/jre"Environment="JAVA_OPTS=-Djava.awt.headless=true"Environment="CATALINA_BASE=/opt/tomcat"Environment="CATALINA_HOME=/opt/tomcat"Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"ExecStart=/opt/tomcat/bin/startup.shExecStop=/opt/tomcat/bin/shutdown.shRestart=always[Install]WantedBy=multi-user.target
Tải lại daemon dịch vụ để bật dịch vụ Tomcat.
Mã:
$ sudo systemctl daemon-reload
Mã:
$ sudo systemctl enable tomcat --now
Mã:
$ sudo systemctl status tomcat? tomcat.service - Bộ chứa Servlet Apache Tomcat 9 Đã tải: đã tải (/etc/systemd/system/tomcat.service; đã bật; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ 4, 2022-03-09 09:48:38 UTC; 8 giây trước Tiến trình: 25308 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) PID chính: 25315 (java) Nhiệm vụ: 29 (giới hạn: 11412) Bộ nhớ: 154,9M CGroup: /system.slice/tomcat.service ??25315 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties ..09-03 09:48:38 guacamole systemd[1]: Đang khởi động bộ chứa Servlet Apache Tomcat 9...09-03 09:48:38 guacamole systemd[1]: Đã khởi động bộ chứa Servlet Apache Tomcat 9.
Bước 4 - Tải xuống và Xây dựng Guacamole
Bạn có thể tải xuống phiên bản ổn định mới nhất của Guacamole từ trang web của nó. Tại thời điểm viết hướng dẫn này, phiên bản mới nhất có sẵn là 1.4.0. Tải xuống mã nguồn Guacamole.
Mã:
$ GVERSION=1.4.0$ wget https://downloads.apache.org/guacamole/${GVERSION}/source/guacamole-server-${GVERSION}.tar.gz
Mã:
$ tar -xzf guacamole-server-${GVERSION}.tar.gz$ cd guacamole-server-${GVERSION}/
Mã:
$ ./configure --with-systemd-dir=/etc/systemd/system/
Bạn sẽ nhận được kết quả sau khi hoàn tất thành công.
Mã:
kiểm tra cài đặt tương thích với BSD... /usr/bin/install -ckiểm tra xem môi trường xây dựng có hợp lý không... có...------------------------------------------------guacamole-server phiên bản 1.4.0------------------------------------------------ Trạng thái thư viện: freerdp2 ............ có pango ............... có libavcodec .......... có libavformat.......... có libavutil ........... có libssh2 ............. có libssl .............. có libswscale .......... có libtelnet ........... có libVNCServer ........ có libvorbis ........... có libpulse ............ có libwebsockets ....... có libwebp ............. có wsock32 ............. không Hỗ trợ giao thức: Kubernetes .... có RDP ........... có SSH ........... có Telnet ........ có VNC ........... có Dịch vụ / công cụ: guacd ...... có guacenc .... có guaclog .... có Plugin FreeRDP: /usr/lib64/freerdp2 Tập lệnh khởi tạo: không Đơn vị Systemd: /etc/systemd/system/Nhập "make" để biên dịch guacamole-server.
Biên dịch và cài đặt máy chủ Guacamole bằng cách sử dụng các lệnh sau.
Mã:
$ make && sudo make install
Mã:
$ sudo ldconfig
Mã:
$ sudo systemctl daemon-reload
Mã:
$ sudo systemctl enable guacd --now
Mã:
$ sudo systemctl status guacd? guacd.service - Máy chủ Guacamole Đã tải: đã tải (/etc/systemd/system/guacd.service; đã bật; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thu 2022-03-10 09:13:41 UTC; 7 giây trước Tài liệu: man:guacd(8) PID chính: 85349 (guacd) Nhiệm vụ: 1 (giới hạn: 11181) Bộ nhớ: 10,8M CGroup: /system.slice/guacd.service ??85349 /usr/local/sbin/guacd -f10/03 09:13:41 guacamole systemd[1]: Đã khởi động Máy chủ Guacamole.10/03 09:13:41 guacamole guacd[85349]: Guacamole proxy daemon (guacd) phiên bản 1.4.0 đã bắt đầu10/03 09:13:41 guacamole guacd[85349]: guacd[85349]: THÔNG TIN: Guacamole proxy daemon (guacd) phiên bản 1.4.0 đã bắt đầu10/03 09:13:41 guacamole guacd[85349]: guacd[85349]: THÔNG TIN: Đang lắng nghe trên máy chủ ::1, cổng 482210/03 09:13:41 guacamole guacd[85349]: Đang lắng nghe trên máy chủ ::1, cổng 4822
Bước 5 - Cài đặt Guacamole Client
Bây giờ rằng bạn đã cài đặt máy chủ, bước tiếp theo là cài đặt máy khách.Tạo thư mục cấu hình cho Guacamole.
Mã:
$ sudo mkdir /etc/guacamole
Tải xuống tệp nhị phân máy khách Guacamole từ trang web.
Mã:
$ sudo wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-${GVERSION}.war -O /etc/guacamole/guacamole.war
Để máy khách hoạt động, nó cần được triển khai từ thư mục của Tomcat, đó là $CATALINA_HOME/webapps/. Ở Bước 3, chúng ta đặt /opt/tomcat là $CATALINA_HOME.
Chạy lệnh sau để tạo liên kết tượng trưng từ /etc/guacamole/guacamole.war đến thư mục webapps Tomcat.
Mã:
$ sudo ln -s /etc/guacamole/guacamole.war /opt/tomcat/webapps/
Mã:
$ sudo chown -R tomcat:tomcat /opt/tomcat/webapps
Mã:
$ sudo nano /etc/guacamole/guacd.conf
Mã:
## tệp cấu hình guacd#[daemon]#pid_file = /var/run/guacd.pidlog_level = info[server]bind_host = your_server_IPbind_port = 4822## Các tham số sau chỉ hợp lệ nếu# guacd được xây dựng với hỗ trợ SSL.## [ssl]# server_certificate = /etc/ssl/certs/guacd.crt# server_key = /etc/ssl/private/guacd.key
Khởi động lại máy chủ Guacamole và Tomcat để áp dụng các thay đổi.
Mã:
$ sudo systemctl restart tomcat guacd
Bước 6 - Cài đặt và cấu hình MySQL
Apache Guacamole cung cấp nhiều loại phương pháp xác thực. Đối với mục đích thử nghiệm, xác thực dựa trên mật khẩu đơn giản là đủ. Nhưng đối với môi trường sản xuất, chúng ta cần triển khai phương pháp xác thực mạnh hơn và tốt hơn. Ở đây, chúng ta sẽ triển khai xác thực dựa trên cơ sở dữ liệu bằng MySQL.Cài đặt MySQL.
Mã:
$ sudo dnf install mysql-server
Mã:
$ sudo systemctl enable mysqld --now
Mã:
$ sudo mysql_secure_installation
Mã:
Bảo mật triển khai máy chủ MySQL.Kết nối với MySQL bằng mật khẩu trống.THÀNH PHẦN XÁC THỰC MẬT KHẨU có thể được sử dụng để kiểm tra mật khẩuvà cải thiện tính bảo mật. Nó kiểm tra độ mạnh của mật khẩuvà cho phép người dùng chỉ đặt những mật khẩuđủ an toàn. Bạn có muốn thiết lập thành phần XÁC THỰC MẬT KHẨU không?Nhấn y|Y để Có, bất kỳ phím nào khác để Không: YCó ba cấp độ chính sách xác thực mật khẩu:THẤP Chiều dài >= 8TRUNG BÌNH Chiều dài >= 8, số, chữ hoa và chữ thường, và ký tự đặc biệtMẠNH Chiều dài >= 8, số, chữ hoa và chữ thường, ký tự đặc biệt và tệp từ điểnVui lòng nhập 0 = THẤP, 1 = TRUNG BÌNH và 2 = MẠNH: 2
Mã:
Vui lòng đặt mật khẩu cho gốc tại đây.Mật khẩu mới:Nhập lại mật khẩu mới:Ước tính độ mạnh của mật khẩu: 100Bạn có muốn tiếp tục với mật khẩu đã cung cấp không? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): Y
Mã:
...Xóa người dùng ẩn danh? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): YThành công....Không cho phép đăng nhập gốc từ xa? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): YThành công....Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): Y - Xóa cơ sở dữ liệu thử nghiệm...Thành công. - Xóa quyền trên cơ sở dữ liệu thử nghiệm...Thành công.Tải lại bảng đặc quyền sẽ đảm bảo rằng tất cả các thay đổiđã thực hiện cho đến nay sẽ có hiệu lực ngay lập tức....Tải lại bảng đặc quyền ngay bây giờ? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): YThành công.Xong!
Mã:
$ mysql -u root -p
Mã:
mysql> TẠO NGƯỜI DÙNG 'guacamole_user'@'localhost' ĐƯỢC XÁC ĐỊNH BỞI 'Your_password2';
Mã:
mysql> CREATE DATABASE guacamole_db;
Mã:
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
Mã:
mysql> exit
Bước 7 - Cấu hình Apache Guacamole
Thư mục cấu hình của Guacamole được định nghĩa bởi biến GUACAMOLE_HOME. Tất cả các tệp cấu hình, tiện ích mở rộng, v.v. đều nằm trong thư mục này. Tệp /etc/guacamole/guacamole.properties lưu trữ tất cả các cấu hình và thiết lập cho Guacamole và các tiện ích mở rộng của nó.Các tiện ích mở rộng và thư viện yêu cầu các thư mục bổ sung. Hãy tạo chúng.
Mã:
$ sudo mkdir /etc/guacamole/{extensions,lib}
Mã:
$ echo "GUACAMOLE_HOME=/etc/guacamole" | sudo tee -a /etc/default/tomcat
Cấu hình Xác thực Cơ sở dữ liệu Apache Guacamole
Chúng tôi đã thiết lập cơ sở dữ liệu cho Guacamole ở bước trước. Chúng ta cần tải xuống plugin xác thực Guacamole JDBC và thư viện MySQL Java Connector để hoàn tất cấu hình.Tải xuống Guacamole JDBC Plugin từ trang web của plugin này.
Mã:
$ cd ~$ wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-auth-jdbc-${GVERSION}.tar.gz
Mã:
$ tar -xf guacamole-auth-jdbc-${GVERSION}.tar.gz$ sudo mv guacamole-auth-jdbc-${GVERSION}/mysql/guacamole-auth-jdbc-mysql-${GVERSION}.jar /etc/guacamole/extensions/
Mã:
$ cd guacamole-auth-jdbc-${GVERSION}/mysql/schema
Mã:
$ cat *.sql | mysql -u root -p guacamole_db
Mã:
$ cd ~$ wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.28.tar.gz
Mã:
$ tar -xf mysql-connector-java-8.0.28.tar.gz$ sudo mv mysql-connector-java-8.0.28/mysql-connector-java-8.0.28.jar /etc/guacamole/lib/
Cấu hình tệp Thuộc tính Guacamole
Tạo /etc/guacamole/guacamole.properties và mở tệp đó để chỉnh sửa.
Mã:
$ sudo nano /etc/guacamole/guacamole.properties
Mã:
guacd-hostname: your_server_ipguacd-port: 4822# Thuộc tính MySQLmysql-hostname: localhostmysql-database: guacamole_dbmysql-username: guacamole_usermysql-password: Your_password2
Liên kết thư mục cấu hình Guacamole với thư mục servlet Tomcat.
Mã:
$ sudo ln -s /etc/guacamole /opt/tomcat/.guacamole
Mã:
$ sudo systemctl restart tomcat
Bước 8 - Cài đặt SSL
Để cài đặt chứng chỉ SSL bằng Let's Encrypt, chúng ta cần cài đặt công cụ Certbot. Certbot yêu cầu kho lưu trữ EPEL để cài đặt, nhưng chúng ta có thể tiến hành cài đặt trực tiếp vì chúng ta đã cài đặt nó trước đó.Chạy các lệnh sau để cài đặt Certbot.
Mã:
$ sudo dnf install certbot
Mã:
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d guacamole.example.com
Tạo chứng chỉ nhóm Diffie-Hellman.
Mã:
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Mã:
$ sudo mkdir -p /var/lib/letsencrypt
Mã:
$ sudo nano /etc/cron.daily/certbot-renew
Mã:
#!/bin/shcertbot renew --cert-name guacamole.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"
Thay đổi quyền trên tệp tác vụ để làm cho tệp đó có thể thực thi được.
Mã:
$ sudo chmod +x /etc/cron.daily/certbot-renew
Bước 9 - Cài đặt và cấu hình Nginx làm Proxy ngược
Cấu hình Tomcat để kết nối Proxy ngược
Trước khi cài đặt Nginx, chúng ta cần cấu hình Tomcat để truyền qua địa chỉ IP từ xa do proxy ngược Nginx cung cấp.Mở tệp /opt/tomcat/conf/server.xml để chỉnh sửa.
Mã:
$ sudo nano /opt/tomcat/conf/server.xml
Mã:
Mã:
Cài đặt Nginx
Rocky Linux 8.5 được tích hợp phiên bản ổn định mới nhất của Nginx. Cài đặt bằng lệnh sau.
Mã:
$ sudo dnf module install nginx:1.20
Mã:
$ nginx -vphiên bản nginx: nginx/1.20.1
Mã:
$ sudo systemctl enable nginx
Mã:
$ sudo nano /etc/nginx/conf.d/guacamole.conf
Mã:
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name guacamole.example.com; access_log /var/log/nginx/guacamole.access.log; error_log /var/log/nginx/guacamole.error.log; # Chứng chỉ SSL ssl /etc/letsencrypt/live/guacamole.example.com/fullchain.pem; khóa chứng chỉ ssl /etc/letsencrypt/live/guacamole.example.com/privkey.pem; chứng chỉ ssl đáng tin cậy /etc/letsencrypt/live/guacamole.example.com/chain.pem; thời gian chờ ssl_session 5 phút; bộ nhớ đệm ssl_session được chia sẻ: MozSSL: 10 phút; ssl_session_tickets tắt; giao thức ssl TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers bật; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling bật; ssl_stapling_verify bật; ssl_dhparam /etc/ssl/certs/dhparam.pem; trình phân giải 8.8.8.8; vị trí / { proxy_pass http://127.0.0.1:8080/guacamole/; proxy_buffering tắt; 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; client_max_body_size 1g; access_log tắt; }}# thực thi HTTPSmáy chủ { lắng nghe 80; lắng nghe [::]:80; tên máy chủ guacamole.example.com; trả về 301 https://$host$request_uri;}
Mở tệp /etc/nginx/nginx.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
Mã:
server_names_hash_bucket_size 64;
Xác minh cú pháp tệp cấu hình Nginx.
Mã:
$ sudo nginx -tnginx: tệp cấu hình /etc/nginx/nginx.conf cú pháp oknginx: tệp cấu hình /etc/nginx/nginx.conf thử nghiệm thành công
Mã:
$ sudo setsebool -P httpd_can_network_connect 1
Mã:
$ sudo systemctl start nginx
Mã:
$ sudo systemctl restart tomcat
Bước 10 - Truy cập Guacamole
Mở URL https://guacamole.example.com trong trình duyệt của bạn và bạn sẽ thấy màn hình sau.Nhập guacadmin làm tên người dùng và guacadmin làm mật khẩu và nhấp vào Đăng nhập để tiếp tục.
Tạo Người dùng quản trị mới
Bạn nên tạo người dùng mới và xóa người dùng hiện tại vì mục đích bảo mật. Để thực hiện việc đó, hãy nhấp vào guacadmin ở trên cùng bên phải và nhấp vào menu Cài đặt từ menu thả xuống.Chuyển sang tab Người dùng và nhấp vào nút Người dùng mới để bắt đầu.
Nhập thông tin chi tiết của bạn và đánh dấu tất cả các quyền.
Nhấp vào Lưu khi hoàn tất. Đăng xuất người dùng guacadmin và đăng nhập lại bằng người dùng mới tạo.
Quay lại màn hình người dùng. Chọn người dùng guacadmin để chỉnh sửa và nhấp vào nút Xóa ở cuối để xóa người dùng.
Bước 11 - Cách sử dụng Guacamole
Trong hướng dẫn của chúng tôi, chúng tôi sẽ chỉ cho bạn cách kết nối với máy chủ bằng giao thức SSH.Vào menu Cài đặt của Guacamole và chọn Kết nối. Trong màn hình Connections, nhấn nút New Connection.
Chọn tên cho kết nối và chọn SSH làm giao thức từ menu thả xuống.
Trong phần Parameters, nhập địa chỉ IP của máy chủ làm tên máy chủ, 22 làm cổng (hoặc nếu bạn có cổng SSH tùy chỉnh, hãy sử dụng cổng đó) và tên người dùng của bạn. Nếu bạn đang sử dụng xác thực dựa trên mật khẩu, hãy nhập mật khẩu của người dùng hoặc dán khóa riêng. Nhập cụm mật khẩu cho khóa riêng nếu bạn đang sử dụng.
Nếu bạn muốn bật bất kỳ cài đặt bổ sung nào, hãy thực hiện thao tác đó. Nhấp vào Lưu để hoàn tất việc thêm kết nối.
Quay lại bảng điều khiển và nhấp vào tên kết nối bên dưới Tất cả kết nối, bạn sẽ được đưa đến thiết bị đầu cuối SSH.