Zainstaluj Guacamole dla zdalnego dostępu do systemu Linux/Windows w Ubuntu
Jako administrator systemu możesz znaleźć się (dziś lub w przyszłości) w środowisku, w którym współistnieją Windows i Linux.
Nie jest tajemnicą, że niektóre duże firmy wolą (lub muszą) uruchamiać część swoich usług produkcyjnych na komputerach z systemem Windows, a inne na serwerach Linux.
Jeśli tak jest w Twoim przypadku, powitasz ten przewodnik z otwartymi ramionami (w przeciwnym razie nie wahaj się i przynajmniej dodaj go do swoich zakładek).
W tym artykule przedstawimy Ci guacamole, bramę zdalnego pulpitu obsługiwaną przez Tomcat, którą wystarczy zainstalować na serwerze centralnym.
Guacamole zapewni internetowy panel sterowania, który umożliwi szybkie przełączanie się z jednego urządzenia na drugie – wszystko w tym samym oknie przeglądarki internetowej.
Środowisko testowe
W tym artykule korzystaliśmy z następujących maszyn. Zainstalujemy Guacamole w urządzeniu Ubuntu i będziemy go używać do uzyskiwania dostępu do systemu Windows 10 za pośrednictwem protokołu Remote Desktop Protocol ( RDP) i skrzynkę RHEL korzystającą z protokołu sieciowego 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 powiedziawszy, zaczynajmy.
Instalowanie serwera Guacamole w Ubuntu
1. Przed zainstalowaniem guacamole musisz najpierw zadbać o jego zależności.
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. Pobierz i rozpakuj archiwum tar. Od początku lutego 2021 najnowsza wersja Guacamole to 1.3.0. Możesz odwiedzić stronę pobierania Guacamole, aby znaleźć najnowszą wersję w danym momencie.
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. Skompiluj oprogramowanie.
cd guacamole-server-1.3.0/
./configure
Jak można się spodziewać, configure sprawdzi Twój system pod kątem obecności wymaganych zależności i obsługiwanych protokołów komunikacyjnych (jak widać w podświetlonym kwadracie, Protokół Remote Desktop (RDP) i SSH są obsługiwane przez wcześniej zainstalowane zależności).
Jeśli wszystko pójdzie zgodnie z oczekiwaniami, po zakończeniu powinieneś zobaczyć następujący komunikat (w przeciwnym razie upewnij się, że zainstalowałeś wszystkie niezbędne zależności):
Jak sugeruje ostatnia linia na powyższym obrazku, uruchom make
i make install
, aby skompilować program:
make
sudo make install
4. Zaktualizuj pamięć podręczną zainstalowanych bibliotek.
sudo ldconfig
i naciśnij Enter.
Instalowanie klienta Guacamole w Ubuntu
Po wykonaniu powyższych kroków serwer guacamole zostanie zainstalowany. Poniższe instrukcje pomogą Ci teraz skonfigurować guacd (demona proxy integrującego JavaScript z protokołami komunikacyjnymi, takimi jak RDP lub SSH) i guacamole.war (klienta), komponent tworzący ostateczną aplikację HTML5, która zostanie Ci zaprezentowana.
Pamiętaj, że oba komponenty (serwer guacamole i klient) muszą być zainstalowane na tej samej maszynie – nie ma potrzeby instalowania tzw. klienta na maszynach, na których chcesz połączyć się).
Aby pobrać klienta, wykonaj następujące kroki:
5. Pobierz archiwum aplikacji internetowych i zmień jego nazwę na guacamole.war.
Uwaga: w zależności od dystrybucji katalog bibliotek Tomcat może znajdować się pod adresem /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. Utwórz plik konfiguracyjny (/etc/guacamole/guacamole.properties). Ten plik zawiera instrukcje dotyczące połączenia Guacamole z guacd:
sudo mkdir /etc/guacamole
sudo mkdir /usr/share/tomcat9/.guacamole
sudo nano /etc/guacamole/guacamole.properties
Wstaw następującą zawartość do /etc/guacamole/guacamole.properties. Pamiętaj, że odwołujemy się do pliku, który utworzymy w następnym 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
I utwórz dowiązanie symboliczne, aby Tomcat mógł odczytać plik:
sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat9/.guacamole/
7. Guacamole używa pliku user-mapping.xml. Utwórz ten plik, aby określić, którzy użytkownicy mogą uwierzytelniać się w interfejsie internetowym Guacamole (pomiędzy <authorize>
) i jakich połączeń mogą używać (pomiędzy tagami <connection>
):
sudo nano /etc/guacamole/user-mapping.xml
Poniższe mapowanie użytkownika zapewnia dostęp do interfejsu internetowego Guacamole użytkownikowi tecmint
z hasłem tecmint01. Następnie w ramach połączenia SSH musimy podać prawidłową nazwę użytkownika, aby zalogować się do skrzynki RHEL (zostaniesz poproszony o podanie odpowiedniego hasła, gdy Guacamole zainicjuje połączenie).
W przypadku pola Windows 10 nie ma takiej potrzeby, gdyż wyświetli nam się ekran logowania przez RDP.
Aby uzyskać skrót md5 hasła tecmint01, wpisz następujące polecenie:
printf '%s' "tecmint01" | md5sum
Następnie wstaw wynik polecenia w polu hasła wewnątrz tagów <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>
Podobnie jak w przypadku wszystkich plików zawierających poufne informacje, ważne jest ograniczenie uprawnień i zmiana właściciela pliku user-mapping.xml
:
sudo chmod 600 /etc/guacamole/user-mapping.xml
sudo chown tomcat:tomcat /etc/guacamole/user-mapping.xml
Uruchom Tomcat i guacd.
sudo service tomcat9 start
sudo /usr/local/sbin/guacd &
Uruchamianie interfejsu sieciowego Guacamole
8. Aby uzyskać dostęp do interfejsu internetowego Guacamole, uruchom przeglądarkę i wskaż ją na http://server:8080/guacamole
, gdzie serwer to nazwa hosta lub adres IP Twojego serwer (w naszym przypadku jest to http://192.168.0.100:8080/guacamole
) i zaloguj się podanymi wcześniej danymi uwierzytelniającymi (nazwa użytkownika: tecmint, hasło: tecmint01):
9. Po kliknięciu Zaloguj zostaniesz przeniesiony do interfejsu administracyjnego, gdzie zobaczysz listę połączeń, do których użytkownik tecmint ma dostęp, zgodnie z user- mapowanie.xml
:
10. Śmiało, kliknij pole RHEL 8, aby zalogować się jako gacanepa (nazwa użytkownika podana w definicji połączenia).
Zwróć uwagę, że źródło połączenia jest ustawione na 192.168.0.100 (adres IP serwera Guacamole), niezależnie od adresu IP urządzenia, którego używasz do otwierania interfejsu internetowego:
11. Jeśli chcesz zakończyć połączenie, wpisz exit i naciśnij Enter. Zostaniesz poproszony o powrót do głównego interfejsu (Strona główna), ponowne połączenie lub wylogowanie się z Guacamole:
12. Teraz czas wypróbować połączenie pulpitu zdalnego z systemem Windows 10:
Gratulacje! Teraz możesz uzyskać dostęp do komputera Windows 10 i serwera RHEL 8 z poziomu przeglądarki internetowej.
Streszczenie
W tym artykule wyjaśniliśmy, jak zainstalować i skonfigurować Guacamole, aby umożliwić dostęp do zdalnych maszyn za pośrednictwem RDP i SSH. Oficjalna strona internetowa zawiera obszerną dokumentację ułatwiającą skonfigurowanie dostępu przy użyciu innych protokołów, takich jak VNC i innych mechanizmów uwierzytelniania, takich jak oparte na bazie danych…
Jak zawsze, nie wahaj się napisać do nas, jeśli masz jakieś pytania lub sugestie dotyczące tego artykułu. Z niecierpliwością czekamy również na historie Twoich sukcesów.