Nastavitev spletnega orodja Guacamole za dostop do oddaljenih strojev Linux/Windows


Kot skrbnik sistema se lahko znajdete (danes ali v prihodnosti) v okolju, v katerem sobivata Windows in Linux. Nobena skrivnost ni, da nekatera velika podjetja raje (ali pa jih morajo) voditi nekatere svoje proizvodne storitve v okencih Windows, druga pa v Linux strežnikih. V tem primeru boste ta vodnik sprejeli z odprtimi rokami (sicer nadaljujte in ga vsaj dodajte v zaznamke).

V tem članku vam bomo predstavili guacamole, oddaljeni namizni prehod s pogonom Tomcat, ki ga je treba namestiti le na osrednji strežnik.

Guacamole bo zagotovil spletno nadzorno ploščo, ki vam bo omogočila hiter preklop z ene naprave na drugo - vse v istem oknu spletnega brskalnika.

V tem članku smo uporabili naslednje stroje. Guacamole bomo namestili v polje Ubuntu in z njim dostopali do okna 10 prek protokola RDP (Remote Desktop Protocol) in polja RHEL 7 s pomočjo SSH:

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

Torej, začnimo.

Namestitev strežnika Guacamole

1. Pred namestitvijo gvakamola morate najprej poskrbeti za njegove odvisnosti.

$ sudo apt-get install libcairo2-dev libjpeg62-dev libpng12-dev libossp-uuid-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libssh-dev tomcat7 tomcat7-admin tomcat7-user 
# yum install cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libssh-dev tomcat tomcat-admin-webapps tomcat-webapps
# dnf install cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libssh-devel tomcat tomcat-admin-webapps tomcat-webapps

2. Prenesite in izvlecite tarball.
Od začetka februarja 2016 je najnovejša različica Guacamole 0.9.9. Če želite izvedeti najnovejšo različico v določenem trenutku, se lahko obrnete na stran s prenosi.

# wget http://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz 
# tar zxf guacamole-server-0.9.9.tar.gz 

3. Sestavite programsko opremo.

# cd guacamole-server-0.9.9 
# ./configure 

Kot je bilo pričakovati, bo configure preveril vaš sistem glede prisotnosti zahtevanih odvisnosti in podprtih komunikacijskih protokolov (kot je razvidno iz označenega kvadrata, protokol oddaljenega namizja (RDP) in SSH podpirata prej nameščeni odvisnosti) .

Če gre vse po pričakovanjih, morate to videti, ko se dokonča (v nasprotnem primeru se prepričajte, da ste namestili vse potrebne odvisnosti):

Kot kaže zadnja vrstica na zgornji sliki, zaženite program make in make install :

# make 
# make install

4. Posodobite predpomnilnik nameščenih knjižnic.

# ldconfig 

in pritisnite Enter.

Namestitev odjemalca Guacamole

Po dokončanju zgornjih korakov bo nameščen strežnik guacamole. Naslednja navodila vam bodo zdaj pomagala, da nastavite guacd (proxy demon, ki integrira Javascript s komunikacijskimi protokoli, kot sta RDP ali SSH) in guacamole.war (odjemalec), komponento, ki sestavlja končno aplikacijo HTML5, ki bo predstavljena ti.

Upoštevajte, da je treba obe komponenti (strežnik guacamole in odjemalec) namestiti na isti računalnik - tako imenovanega odjemalca ni treba namestiti na računalnike, s katerimi se želite povezati).

Če želite naložiti odjemalca, sledite tem korakom:

5. Prenesite arhiv spletne aplikacije in mu spremenite ime v guacamole.war.

Opomba: Glede na vašo distribucijo je imenik knjižnic Tomcat morda na/var/lib/tomcat.

# cd /var/lib/tomcat7
# wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war
# mv guacamole-0.9.9.war guacamole.war

6. Ustvarite konfiguracijsko datoteko (/etc/guacamole/guacamole.properties). Ta datoteka vsebuje navodila, kako se Guacamole poveže z guacd:

# mkdir /etc/guacamole
# mkdir /usr/share/tomcat7/.guacamole

Vstavite naslednjo vsebino v /etc/guacamole/guacamole.properties. Upoštevajte, da se sklicujemo na datoteko, ki jo bomo ustvarili v naslednjem koraku (/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

In ustvarite simbolično povezavo za Tomcat, da bo lahko prebral datoteko:

# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat7/.guacamole/

7. Guacamole uporablja user-mapping.xml, ustvari to datoteko, da določi, kateri uporabniki smejo preveriti pristnost spletnega vmesnika Guacamole (med oznakami <authorize>) in katere povezave lahko uporabljajo (med <connection> tags):

Naslednje preslikavo uporabnika uporabniku tecmint z geslom tecmint01 podeli dostop do spletnega vmesnika Guacamole. Nato moramo znotraj SSH povezave postaviti veljavno uporabniško ime za prijavo v polje RHEL (ko bo Guacamole vzpostavil povezavo, boste morali vnesti ustrezno geslo).

V primeru okna Windows 10 tega ni treba storiti, saj se nam bo prikazal zaslon za prijavo prek RDP.

Če želite pridobiti md5 zgoščeno geslo tecmint01, vnesite naslednji ukaz:

# printf '%s' "tecmint01" | md5sum

Nato vstavite izhod ukaza v polje za geslo znotraj oznak <authorize>:

<user-mapping>
        <authorize 
                username="tecmint" 
                password="8383339b9c90775ac14693d8e620981f" 
                encoding="md5">
                <connection name="RHEL 7">
                        <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>

Kot pri vseh datotekah, ki vsebujejo občutljive podatke, je pomembno omejiti dovoljenja in spremeniti lastništvo datoteke user-mapping.xml :

# chmod 600 /etc/guacamole/user-mapping.xml
# chown tomcat7:tomcat7 /etc/guacamole/user-mapping.xml

Zaženite Tomcat in guacd.

# service tomcat7 start
# /usr/local/sbin/guacd &

Zagon spletnega vmesnika Guacamole

8. Za dostop do spletnega vmesnika Guacamole zaženite brskalnik in ga usmerite na http:// server: 8080/guacamole , kjer je strežnik ime gostitelja ali naslov IP vašega strežnika (v našem primeru je < koda> http://192.168.0.100:8080/guacamole ) in se prijavite s poverilnicami, danimi prej (uporabniško ime: tecmint, geslo: tecmint01):

9. Po kliku na Login boste preusmerjeni v skrbniški vmesnik, kjer boste videli seznam povezav, do katerih ima dostop uporabnik tecmint, v skladu z user-mapping.xml :

10. Nadaljujte in kliknite polje RHEL 7, da se prijavite kot gacanepa (uporabniško ime, določeno v definiciji povezave).

Upoštevajte, kako je vir povezave nastavljen na 192.168.0.100 (IP strežnika Guacamole), ne glede na naslov IP naprave, s katero odprete spletni vmesnik:

11. Če želite prekiniti povezavo, vnesite exit in pritisnite Enter. Pozvani boste, da se vrnete v glavni vmesnik (Domov), se znova povežete ali odjavite iz Guacamole:

12. Zdaj je čas, da poskusite povezavo oddaljenega namizja z operacijskim sistemom Windows 10:

Čestitamo! Zdaj lahko do računalnika Windows 10 in strežnika RHEL 7 dostopate iz spletnega brskalnika.

Povzetek

V tem članku smo razložili, kako namestiti in konfigurirati Guacamole tako, da omogoča dostop do oddaljenih naprav prek RDP in SSH. Uradno spletno mesto vsebuje obsežno dokumentacijo, ki vam pomaga nastaviti dostop z uporabo drugih protokolov, kot so VNC in drugi mehanizmi za preverjanje pristnosti, na primer na osnovi DB.

Kot vedno, ne oklevajte in nam pošljite opombo, če imate kakršna koli vprašanja ali predloge glede tega članka. Veselimo se tudi vaših zgodb o uspehu.

Referenčne povezave: http://guac-dev.org/