Vyhledávání na webu

Nainstalujte Guacamole pro vzdálený Linux/Windows Access v Ubuntu


Jako správce systému se můžete ocitnout (dnes nebo v budoucnu) v prostředí, kde vedle sebe existují Windows a Linux.

Není žádným tajemstvím, že některé velké společnosti preferují (nebo musí) provozovat některé své produkční služby na Windows boxech a jiné na linuxových serverech.

Pokud je to váš případ, uvítáte tohoto průvodce s otevřenou náručí (jinak pokračujte a nezapomeňte si ho přidat do záložek).

V tomto článku vám představíme guacamole, bránu vzdálené plochy poháněnou Tomcat, kterou je třeba nainstalovat pouze na centrální server.

Guacamole poskytne webový ovládací panel, který vám umožní rychle přepínat z jednoho počítače na druhý – to vše ve stejném okně webového prohlížeče.

Testovací prostředí

V tomto článku jsme použili následující stroje. Nainstalujeme Guacamole do Ubuntu boxu a použijeme ho k přístupu k boxu Windows 10 přes Remote Desktop Protocol ( RDP) a pole RHEL používající síťový protokol SSH:

Guacamole server: Ubuntu 20.04 - IP 192.168.0.100
Remote SSH box: RHEL 8 – IP 192.168.0.18
Remote desktop box: Windows 10 – IP 192.168.0.19

To znamená, začněme.

Instalace serveru Guacamole v Ubuntu

1. Před instalací guacamole se musíte nejprve postarat o jeho závislosti.

sudo apt update
sudo apt install -y gcc vim curl wget g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev \
libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev build-essential \
libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev freerdp2-dev libwebsockets-dev \
libssl-dev libvorbis-dev libwebp-dev tomcat9 tomcat9-admin tomcat9-user

2. Stáhněte a rozbalte tarball. Od začátku února 2021 je nejnovější verze Guacamole 1.3.0. Nejnovější verzi v daný čas naleznete na stránce Guacamole Downloads.

wget https://dlcdn.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz 
tar zxf guacamole-server-1.3.0.tar.gz  

3. Zkompilujte software.

cd guacamole-server-1.3.0/
./configure

Jak lze očekávat, configure zkontroluje váš systém na přítomnost požadovaných závislostí a podporovaných komunikačních protokolů (jak je vidět na zvýrazněném čtverci, Remote Desktop Protocol (RDP) a SSH jsou podporovány dříve nainstalovanými závislostmi).

Pokud vše půjde podle očekávání, měli byste po dokončení vidět toto (v opačném případě se ujistěte, že jste nainstalovali všechny potřebné závislosti):

Jak naznačuje poslední řádek na obrázku výše, spusťte make a make install a zkompilujte program:

make 
sudo make install

4. Aktualizujte mezipaměť nainstalovaných knihoven.

sudo ldconfig 

a stiskněte Enter.

Instalace klienta Guacamole v Ubuntu

Po dokončení výše uvedených kroků bude server guacamole nainstalován. Následující pokyny vám nyní pomohou nastavit guacd (proxy démon, který integruje Javascript s komunikačními protokoly, jako je RDP nebo SSH) a guacamole.war (klient), komponentu, která tvoří finální HTML5 aplikaci, která vám bude představena.

Pamatujte, že obě komponenty (guacamole server a klient) musí být nainstalovány na stejném počítači – není třeba instalovat tzv. klienta na stroje, které chcete připojit k).

Chcete-li stáhnout klienta, postupujte takto:

5. Stáhněte si archiv webové aplikace a změňte jeho název na guacamole.war.

Poznámka: V závislosti na vaší distribuci může být adresář knihoven Tomcat umístěn na adrese /var/lib/tomcat.

cd /var/lib/tomcat9/
sudo wget https://dlcdn.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war
sudo mv guacamole-1.3.0.war webapps/guacamole.war

6. Vytvořte konfigurační soubor (/etc/guacamole/guacamole.properties). Tento soubor obsahuje pokyny pro připojení Guacamole k guacd:

sudo mkdir /etc/guacamole
sudo mkdir /usr/share/tomcat9/.guacamole
sudo nano /etc/guacamole/guacamole.properties

Vložte následující obsah do /etc/guacamole/guacamole.properties. Všimněte si, že odkazujeme na soubor, který vytvoříme v dalším kroku (/etc/guacamole/user-mapping.xml):

guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml
auth-provider:    net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
basic-user-mapping:    /etc/guacamole/user-mapping.xml

A vytvořte symbolický odkaz pro Tomcat, aby mohl číst soubor:

sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat9/.guacamole/

7. Guacamole používá user-mapping.xml, vytvořte tento soubor k definování, kteří uživatelé se mohou autentizovat na webovém rozhraní Guacamole (mezi <authorize> tagy) a jaká připojení mohou použít (mezi tagy <connection>):

sudo nano /etc/guacamole/user-mapping.xml

Následující uživatelské mapování uděluje přístup k webovému rozhraní Guacamole uživateli tecmint s heslem tecmint01. Poté, uvnitř SSH připojení, musíme umístit platné uživatelské jméno pro přihlášení do pole RHEL (budete vyzváni k zadání odpovídajícího hesla, když Guacamole zahájí připojení).

V případě pole Windows 10 to není nutné, protože se nám zobrazí přihlašovací obrazovka přes RDP.

Chcete-li získat md5 hash hesla tecmint01, zadejte následující příkaz:

printf '%s' "tecmint01" | md5sum

Poté vložte výstup příkazu do pole hesla uvnitř značek <authorize>:

<user-mapping>
        <authorize 
                username="tecmint" 
                password="8383339b9c90775ac14693d8e620981f" 
                encoding="md5">
                <connection name="RHEL 8">
                        <protocol>ssh</protocol>
                        <param name="hostname">192.168.0.18</param>
                        <param name="port">22</param>
                        <param name="username">gacanepa</param>
                </connection>
                <connection name="Windows 10">
                        <protocol>rdp</protocol>
                        <param name="hostname">192.168.0.19</param>
                        <param name="port">3389</param>
                </connection>
        </authorize>
</user-mapping>

Stejně jako u všech souborů, které obsahují citlivé informace, je důležité omezit oprávnění a změnit vlastnictví souboru user-mapping.xml:

sudo chmod 600 /etc/guacamole/user-mapping.xml
sudo chown tomcat:tomcat /etc/guacamole/user-mapping.xml

Spusťte Tomcat a guacd.

sudo service tomcat9 start
sudo /usr/local/sbin/guacd &

Spuštění webového rozhraní Guacamole

8. Pro přístup k webovému rozhraní Guacamole spusťte prohlížeč a nasměrujte jej na http://server:8080/guacamole, kde server je název hostitele nebo IP adresa vašeho serveru (v našem případě je to http://192.168.0.100:8080/guacamole) a přihlaste se pomocí dříve uvedených přihlašovacích údajů (uživatelské jméno: tecmint, heslo: tecmint01):

9. Po kliknutí na Přihlásit se dostanete do administrativního rozhraní, kde uvidíte seznam připojení, ke kterým má uživatel tecmint přístup podle user- mapping.xml:

10. Pokračujte a klikněte na pole RHEL 8 a přihlaste se jako gacanepa (uživatelské jméno uvedené v definici připojení).

Všimněte si, jak je zdroj připojení nastaven na 192.168.0.100 (IP serveru Guacamole), bez ohledu na IP adresu počítače, který používáte k otevření webového rozhraní:

11. Pokud chcete připojení ukončit, napište exit a stiskněte Enter. Budete vyzváni k návratu do hlavního rozhraní (Domů), opětovnému připojení nebo odhlášení z Guacamole:

12. Nyní je čas vyzkoušet připojení vzdálené plochy k Windows 10:

Gratulujeme! Nyní můžete přistupovat k počítači Windows 10 a serveru RHEL 8 z webového prohlížeče.

souhrn

V tomto článku jsme vysvětlili, jak nainstalovat a nakonfigurovat Guacamole, aby umožnil přístup ke vzdáleným počítačům přes RDP a SSH. Oficiální webová stránka poskytuje rozsáhlou dokumentaci, která vám pomůže nastavit přístup pomocí jiných protokolů, jako je VNC a dalších ověřovacích mechanismů, jako je DB…

Jako vždy nám neváhejte napsat, pokud máte nějaké dotazy nebo návrhy k tomuto článku. Těšíme se také na vaše příběhy o úspěchu.