Apache Guacamole je bezplatná a open-source brána vzdálené plochy, která vám umožňuje vzdálené připojení k vašemu počítači/serveru pomocí různých protokolů, jako jsou SSH, RDP a VNC. Apache Guacamole spravuje Apache Software Foundation a je licencován s Apache License 2.0.
Apache Guacamole je brána vzdálené plochy bez klienta. K Apache Guacamole můžete přistupovat odkudkoli a kdykoli pouze pomocí webového prohlížeče. Použití Apache Guacamole se doporučuje, pokud máte více vzdálených operačních systémů s různými protokoly, jako je Windows s RDP, Linux s VNC a SSH.
V tomto tutoriálu nainstalujete a nakonfigurujete Apache Guacamole na Debian 11 Bullseye. To zahrnuje instalaci některých závislostí balíčků a Apache Tomcat 9, pak sestavení serveru Guacamole a instalaci Java aplikace, webové aplikace Guacamole. Nakonec nastavíte Nginx jako reverzní proxy pro webovou aplikaci Guacamole, která vám umožní přístup k vašim serverům odkudkoli, pokud máte webový prohlížeč.
Předpoklady
K dokončení tohoto kurzu budete potřebovat následující požadavky:
- Server s alespoň 2 GB RAM se systémem Debian 11 Bullseye.
- Uživatel nebo uživatel bez oprávnění root s právy root.
- Základní znalosti s nano editorem. Nebo můžete použít preferovaný editor, jako je vim.
Instalace závislostí sestavení
Nejprve nainstalujete některé závislosti sestavení pro sestavení serveru Apache Guacamole. To zahrnuje některé základní balíčky, jako je 'libvncserver-dev ', které umožňují podporu protokolu VNC, 'libssh2-1 ' pro protokol SSH, 'freerdp2-dev ' pro protokol RDP a 'libwebsockets-dev pro podporu Kubernetes.
Pro zvážení, nebudete instalovat 'libtelnet-dev' pro podporu Telnetu. Je to proto, že telnet je považován za starý protokol a není bezpečný.
1. Nyní aktualizujte svůj seznam balíčků spuštěním příkazu apt níže.
aktualizace sudo apt
2. Poté nainstalujte závislosti pro sestavení serveru Apache Guacamole spuštěním následujícího příkazu.
sudo apt install -y freerdp2-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libcairo2-dev libjpeg62-turbo-dev libjpeg-dev libpng-dev libtool-bin libdevpango1.0- libssh2-1 libwebsockets16 libwebsocketpp-dev libossp-uuid-dev libssl-dev libwebp-dev libvorbis-dev libpulse-dev libwebsockets-dev libvncserver-dev libssh2-1-prev opensslDokončení tohoto příkazu může nějakou dobu trvat, v závislosti na připojení vašeho serveru k internetu.
Instalace Apache Tomcat 9
Po instalaci závislostí sestavení nainstalujete Apache Tomcat 9. Tento balíček je vyžadován pro webovou aplikaci Guacamole, což je webová aplikace napsaná v Javě.
1. Spuštěním následujícího příkazu nainstalujte Apache Tomcat 9 do vašeho systému.
sudo apt install -y tomcat9 tomcat9-admin tomcat9-common tomcat9-user2. Po instalaci Apache Tomcat 9 spusťte a povolte službu Apache Tomcat spuštěním příkazu níže. Na systémech založených na Debianu přichází Apache Tomcat 9 se službou nazvanou 'tomcat9 '.
sudo systemctl enable --now tomcat93. Nyní, pokud vše vypadá v pořádku, ověřte stav 'tomcat9 ' spuštěním příkazu níže.
sudo systemctl status tomcat9Obdržíte následující výstup. Ujistěte se, že 'tomcat9 ' služba je 'aktivní (běžící) '.
Kompilace serveru Guacamole
V této části si stáhnete a zkompilujete server Guacamole. Toto je hlavní součást Apache Guacamole, která obsahuje knihovny pro připojení ke vzdáleným serverům a desktopům. Server Guacamole obsahuje knihovnu C 'libguacd' a všechny knihovny pro podporované protokoly a také srdce Guacamole, guacd.
Guacd zpracovává všechna připojení klientů, která jsou tunelována z webové aplikace guacamole, a poté se jejich jménem připojuje ke vzdáleným serverům a desktopům. Sestavením a zkompilováním serveru Guacamole budete mít ve svém systému novou službu 'guacd'.
1. Začněte navigací v pracovním adresáři na '/usr/src '. Veškerý zdrojový kód pro vytváření a kompilaci věcí jde do tohoto adresáře.
cd /usr/src2. Nyní si stáhnete zdrojový kód serveru Guacamole spuštěním příkazu wget níže. Nezapomeňte zkontrolovat stránku stahování Guacamole a zkopírovat nejnovější verzi serveru Guacamole. V době psaní tohoto článku je nejnovější verze 1.3.0.
wget https://dlcdn.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz3. Poté rozbalte zdrojový kód a získáte nový adresář 'guacamole-server-VERSION-NUMBER' . Přejděte do tohoto adresáře.
tar -xzvf guacamole-server-1.3.0.tar.gz
cd guacamole-server-*/4. Nyní ověřte všechny systémové požadavky pro sestavení serveru Guacamole a nastavte své prostředí spuštěním následujícího příkazu. Možnost '--with-systemd-dir=/etc/systemd/system/' se používá k nastavení servisního souboru systemd, který bude dostupný v adresáři '/etc/systemd/system/ '.
./configure --with-systemd-dir=/etc/systemd/system/Obdržíte výstup podobný tomuto:
----------------------------------------------- -
guacamole-server verze 1.3.0
---------------------------------- --------------
Stav knihovny:
freerdp2 ............ ano
pango ............... ano
libavcodec .......... ano
libavformat.......... ano
libavutil ........... ano
libssh2 ............. ano
libssl ......... ..... ano
libswscale .......... ano
libtelnet ........... ne
libVNCServer ...... .. ano
libvorbis ........... ano
libpulse ............ ano
libwebsockets ....... ano
libwebp ............. ano
wsock32 ............. ne
Podpora protokolu:
Kubernetes .... ano
RDP ........... ano
SSH ........... ano
Telnet ........ ne
VNC ........... ano
Služby / nástroje:
guacd ...... ano
guacenc .... ano
guaclog .... ano
FreeRDP pluginy:/usr/lib/x86_64-linux-gnu/freerdp2
Init skripty:ne
Systémové jednotky:/ etc/systemd/system/
Zadáním „make“ zkompilujete guacamole-server.Podívejte se na 'Stav knihoven “ a „Podpora protokolu sekce. Podporu protokolů můžete upravit instalací dalších závislostí a knihoven.
5. Dále zkompilujte a nainstalujte server Guacamole spuštěním příkazu níže.
provést
provést instalaciDokončení procesu kompilace a instalace může nějakou dobu trvat.
6. Nyní, když je vše dokončeno, spusťte následující příkaz pro použití všech nových systémových knihoven.
sudo ldconfigV této části jste nainstalovali balíček Guacamole-server. Dále vytvoříte potřebné konfigurace pro server Guacamole.
Nastavení serveru Guacamole
Aby server Guacamole fungoval, vytvořte konfigurační adresář '/etc/guacamole/ ', poté vytvořte nový soubor 'guacamole.properties ' jako výchozí konfigurace serveru Guacamole, soubor 'logback.xml' pro logovací systém Guacamole a soubor 'user-mapping.xml' pro definování ověřování uživatelů Guacamole a připojení ke vzdáleným serverům a desktopům.
1. Chcete-li začít, spusťte následující příkaz k vytvoření nového adresáře '/etc/guacamole/ ' v dalších adresářích 'rozšíření ' a 'lib' uvnitř. Poté přidejte proměnnou prostředí 'GUACAMOLE_HOME=/etc/guacamole ' do souboru '/etc/default/tomcat9'. Tím sdělíte kontejneru servletu Tomcat 9, aby vyhledal 'GUACAMOLE_HOME ' do adresáře '/etc/guacamole/ '.
mkdir -p /etc/guacamole/{extensions,lib}
echo 'GUACAMOLE_HOME=/etc/guacamole'>> /etc/default/tomcat92. Nyní vytvořte hlavní konfiguraci 'guacamole.properties ' pomocí nano nebo vámi preferovaného editoru.
sudo nano /etc/guacamole/guacamole.propertiesZadejte následující konfiguraci:
# Název hostitele a port proxy guacamole
Název hostitele guacd:localhost
port guacd: 4822
# mapování uživatelů a připojení uživatelů
mapování uživatelů:/etc/guacamole/user-mapping.xml
- Volba 'guacd-hostname' definuje název hostitele nebo IP adresu, na které bude služba guacd spuštěna. Tento tutoriál používá ke spuštění služby guacd localhost.
- Možnost 'guacd-port ' definuje výchozí port pro službu guacd. Tento tutoriál používá port '4822 ' pro službu guacd.
- Volba „mapování uživatelů“ definuje konfiguraci souboru pro ověřování uživatelů a seznam dostupných připojení. Tento tutoriál používá soubor '/etc/guacamole/user-mapping.xml' k definování uživatelů a připojení pro server Guacamole. Možná vás bude zajímat použití jiné metody ověřování, podívejte se do dokumentace Guacamole.
Uložte a zavřete soubor.
3. Dále vytvořte novou konfiguraci 'loogback.xml pro protokolování a ladění. Ve výchozím nastavení se Guacamole přihlásí pouze do konzole. Použití této konfigurace umožňuje Guacamole přihlásit se prostřednictvím logback frameworku.
sudo nano /etc/guacamole/logback.xml
Přidejte následující konfigurační řádky.
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
Uložte a zavřete konfigurační soubor.
4. Nyní vygenerujete nový hash hesla md5 a vytvoříte nový soubor pro ověření uživatele Guacamole a připojení.
Spuštěním následujícího příkazu vygenerujte hash hesla md5. A nezapomeňte změnit heslo pomocí svého silného hesla.
echo -n StrongPasswordUserJohnDoe | openssl md5
Obdržíte výstup hashovaného hesla mod5. Zkopírujte jej do poznámky.
(stdin)=aca22211ffcfb8aa8ad7627195ad4fce
5. Poté vytvořte nový soubor 'user-mapping.xml pomocí nano editoru.
sudo nano /etc/guacamole/user-mapping.xml
Zadejte tyto následující konfigurace. A nezapomeňte změnit 'uživatelské jméno' a 'heslo '. Podívejte se také na '
username="johndoe"
password="aca22211ffcfb8aa8ad7627195ad4fce --"
->
první připojení " kódování>
ssh
localhost
22
johndoe
SSHPASSWORD
vnc
localhost
5901
VNCPASS
vnc
jiný hostitel
5900
VNCPASS
Uložte a zavřete soubor.
Nyní jste dokončili konfiguraci serveru Guacamole. Dále nainstalujete a nakonfigurujete webovou aplikaci Guacamole, což je webová aplikace, kterou uvidíte ve svém prohlížeči.
Instalace webové aplikace klienta Guacamole
V této části nainstalujete do svého systému webovou aplikaci Guacamole. To lze provést stažením zkompilovaného binárního souboru webové aplikace Guacamole a jeho nasazením do adresáře Tomcat 'webaps'.
1. Přejděte do svého pracovního adresáře na '/usr/src' a stáhněte si zkompilovanou webovou aplikaci Guacamole '.war ' pomocí příkazu wget. Nezapomeňte navštívit stránku pro stahování Guacamole a zkopírovat odkaz na nejnovější verzi webové aplikace Guacamole.
cd /usr/src
wget https://dlcdn.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war
2. Nyní nasaďte binární aplikaci Java 'guacamole-VERSION.war ' do adresáře Tomcat '/var/lib/tomcat9/webapps/' spuštěním následujícího příkazu. Díky tomu je webová aplikace Guacamole přístupná prostřednictvím kontejneru servletů Apache Tomcat.
sudo cp guacamole-1.3.0.war /var/lib/tomcat9/webapps/guacamole.war
3. Poté restartujte službu Tomcat 9 a použijte novou webovou aplikaci.
sudo systemctl restart tomcat9
4. Dále spusťte a povolte 'guacd ' spuštěním příkazu níže.
sudo systemctl enable --now guacd
Poté jej ověřte pomocí následujícího příkazu.
sudo systemctl status guacd
Obdržíte výstup jako na snímku obrazovky níže.
V tomto okamžiku jste dokončili instalaci aplikace serveru Guacamole (backend) a webové aplikace Guacamole (front-end). Dále nastavíte Nginx jako reverzní proxy pro webovou aplikaci Guacamole.
Nastavení reverzního proxy serveru Nginx pro Guacamole
V této části nainstalujete webový server Nginx a nakonfigurujete jej jako reverzní proxy pro webovou aplikaci Guacamole. To vám umožní nastavit název domény pro vaši webovou aplikaci Guacamole a zabezpečit ji certifikáty SSL.
1. Chcete-li začít, spusťte následující 'apt ' k instalaci balíčků Nginx.
sudo apt install nginx -y
2. Po instalaci všech balíčků Nginx vytvořte nový virtuální hostitelský soubor 'guacamole' v adresáři '/etc/nginx/sites-available '. Všechny konfigurace související s reverzním proxy serverem Guacamole budou uloženy v tomto souboru.
sudo nano /etc/nginx/sites-available/guacamole
Zadejte následující konfiguraci. A nezapomeňte změnit název domény a cestu certifikátů SSL. Tento příklad používá doménu 'example.io' se soukromým klíčem SSL 'privkey.pem “ a veřejný klíč „fullchain.pem ' a certifikáty botů dostupné v adresáři '/etc/letsencrypt/live/exmaple.io/'.
server {
listen 80;
server_name example.io;
přepsat ^ https://$server_name$request_uri? permanent;
}
server {
poslouchat 443 ssl http2;
název_serveru example.io;
root /var/www/html;
index index.html;
umístění / {
try_files $uri $uri/ =404;
}
ssl_certificate /etc /letsencrypt/live/example.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.io/privkey.pem;
access_log /var/log/nginx/guacamole -access.log;
error_log /var/log/nginx/guacamole-error.log;
umístění /guacamole/ {
proxy_pass http://127.0.0.1:8080 /guacamole/;
proxy_buffering off;
proxy_http_verze 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for Connection upgrade proxy http_ upgrade proxy http_ hlava http http_ head upgrade http http_ head upgrade http br /> access_log off;
}
}
Uložte a zavřete soubor.
3. Nyní aktivujte soubor virtuálního hostitele 'guacamole vytvořením nového symbolického odkazu na adresář '/etc/nginx/sites-enabled/ '. Poté ověřte všechny konfigurace Nginx a zkontrolujte, zda se nevyskytují nějaké syntaktické chyby.
sudo ln -s /etc/nginx/sites-available/guacamole /etc/nginx/sites-enabled/
sudo nginx -t
Obdržíte výstup „Syntaxe OK ', což znamená, že konfigurace nemá chybu.
4. Dále restartujte službu Nginx, abyste použili novou konfiguraci, a poté ověřte její stav spuštěním následujícího příkazu.
sudo systemctl restart nginx
sudo systemtl status nginx
Obdržíte výstup podobný níže uvedenému snímku obrazovky. Služba Nginx je 'aktivní (běžící) '.
5. Pokud navíc chcete nasadit webovou aplikaci Guacamole na jiné dílčí adrese URL, změňte možnost 'location /guacamole/ { ... } ' do nové cesty 'umístění /nová-cesta/ { ... } “ a přidejte možnost „cesta_proxy_cookie_path ' k vaší nové cestě, jak je uvedeno níže.
location /new-path/ {
proxy_pass http://127.0.0.1:8080/guacamole/;
proxy_buffering off;
proxy_http_verze 1.1;
proxy_set_header X-Forwarded -Pro $proxy_add_x_forwarded_for;
Upgrade proxy_set_header $http_upgrade;
připojení proxy_set_header $http_connection;
proxy_cookie_path /guacamole/ /new-path/;
přístup /_odhlášení; /před>V této části jste dokončili instalaci a konfiguraci Nginx jako reverzní proxy pro webovou aplikaci Guacamole. V tomto okamžiku je vaše instalace Apache Guacamole dokončena a je přístupná z názvu vaší domény.
Ověřit instalaci Apache Guacamole
V této části ověříte instalaci Apache Guacamole.
Nejprve otevřete webový prohlížeč a zadejte název domény pro vaši instalaci Guacamole s výchozí cestou '/guacamole' .
https://example.io/guacamole/
Nyní uvidíte přihlašovací stránku Guacamole níže. Zadejte své uživatelské jméno a heslo, které jste nakonfigurovali, do souboru 'user-mapping.xml' a poté klikněte na tlačítko Přihlásit.
Po přihlášení se vám zobrazí seznam definovaných připojení pro vaše uživatele.
Kliknutím na název připojení se připojíte k cílovému serveru. Tento příklad se připojí k místnímu serveru pomocí protokolu SSH.
Nyní na vašem serveru uvidíte novou relaci ssh terminálu.
Závěr
gratuluji! V tomto tutoriálu jste se naučili, jak nainstalovat Apache Guacamole na Debian 11 Bullseye. Také jste se naučili, jak nastavit ověřování uživatelů a připojení pomocí konfiguračního souboru 'user-mapping.xml “ a nastavte Nginx jako reverzní proxy pro webovou aplikaci Guacamole, která vám umožní spouštět Guacamaloe pomocí názvu domény a zabezpečit ji pomocí certifikátů SSL.
Jak nainstalovat Zulip Chat Server na Debian 11 Jak nainstalovat diskusní fórum s Nginx a zdarma umožňuje šifrovat SSL na Debian 11Debian