Postavljanje alata Guacamole zasnovan na webu za pristup udaljenim Linux/Windows strojevima


Kao administrator sustava možete se naći (danas ili u budućnosti) kako radite u okruženju u kojem Windows i Linux koegzistiraju. Nije tajna da neke velike tvrtke radije (ili moraju) pokretati neke od svojih proizvodnih usluga u Windowsovim kutijama, a druge na Linux poslužiteljima. Ako je to vaš slučaj, ovaj ćete vodič dočekati raširenih ruku (u protivnom samo naprijed i barem ga dodajte u svoje oznake).

U ovom ćemo vam članku predstaviti guacamole, pristupnik udaljene radne površine koji pokreće Tomcat i koji treba instalirati samo na središnji poslužitelj.

Guacamole će pružiti internetsku upravljačku ploču koja će vam omogućiti brzi prelazak s jednog stroja na drugi - sve u istom prozoru web preglednika.

U ovom smo članku koristili sljedeće strojeve. Instalirat ćemo Guacamole u Ubuntu kutiju i koristiti ga za pristup Windows 10 kutiji preko protokola udaljene radne površine (RDP) i RHEL 7 kutije pomoću 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

To je reklo, krenimo.

Instaliranje poslužitelja Guacamole

1. Prije instaliranja guacamolea, morat ćete se prvo pobrinuti za njegove ovisnosti.

$ 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. Preuzmite i izvucite tarball.
Od početka veljače 2016. najnovija verzija Guacamole-a je 0.9.9. Možete pogledati stranicu Preuzimanja kako biste saznali najnoviju verziju u određenom trenutku.

# 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. Sastavite softver.

# cd guacamole-server-0.9.9 
# ./configure 

Kao što se i očekivalo, configure će provjeriti vaš sustav na prisutnost potrebnih ovisnosti i podržanih komunikacijskih protokola (kao što se može vidjeti na istaknutom kvadratu, protokol udaljene radne površine (RDP) i SSH podržani su ranije instaliranim ovisnostima) .

Ako se sve odvija prema očekivanjima, trebali biste to vidjeti kad se dovrši (u suprotnom provjerite jeste li instalirali sve potrebne ovisnosti):

Kao što sugerira zadnji redak na gornjoj slici, pokrenite make i make install da biste kompajlirali program:

# make 
# make install

4. Ažurirajte predmemoriju instaliranih knjižnica.

# ldconfig 

i pritisnite Enter.

Instaliranje klijenta Guacamole

Nakon dovršenja gornjih koraka bit će instaliran poslužitelj guacamole. Sljedeće upute sada će vam pomoći da postavite guacd (proxy demon koji integrira Javascript s komunikacijskim protokolima kao što su RDP ili SSH) i guacamole.war (klijent), komponentu koja čini konačnu HTML5 aplikaciju koja će biti predstavljena vas.

Imajte na umu da obje komponente (poslužitelj i klijent guacamole) moraju biti instalirane na istom stroju - nema potrebe za instaliranjem takozvanog klijenta na strojeve s kojima se želite povezati).

Da biste preuzeli klijenta, slijedite ove korake:

5. Preuzmite arhivu web aplikacije i promijenite joj ime u guacamole.war.

Napomena: Ovisno o vašoj distribuciji, direktorij biblioteka Tomcat može se nalaziti 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. Stvorite konfiguracijsku datoteku (/etc/guacamole/guacamole.properties). Ova datoteka sadrži upute za povezivanje Guacamolea s guacd:

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

Umetnite sljedeći sadržaj u /etc/guacamole/guacamole.properties. Imajte na umu da upućujemo na datoteku koju ćemo stvoriti u sljedećem 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

I stvorite simboličku vezu za Tomcat kako bi mogao čitati datoteku:

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

7. Guacamole koristi user-mapping.xml, kreirajte ovu datoteku da definira koji korisnici smiju provjeriti autentičnost na web sučelju Guacamole (između oznaka <authorize>) i koje veze mogu koristiti (između < kod> oznake ):

Sljedeće mapiranje korisnika daje pristup web sučelju Guacamole korisniku tecmint s lozinkom tecmint01. Zatim, unutar SSH veze trebamo postaviti važeće korisničko ime za prijavu u okvir RHEL (od vas će se zatražiti da unesete odgovarajuću lozinku kada Guacamole pokrene vezu).

U slučaju Windows 10 okvira, to nije potrebno učiniti jer će nam se prikazati zaslon za prijavu preko RDP-a.

Da biste dobili md5 hash lozinke tecmint01, upišite sljedeću naredbu:

# printf '%s' "tecmint01" | md5sum

Zatim umetnite izlaz naredbe u polje lozinke unutar oznaka <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>

Kao što je slučaj sa svim datotekama koje sadrže osjetljive podatke, važno je ograničiti dozvole i promijeniti vlasništvo datoteke user-mapping.xml :

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

Pokrenite Tomcat i guacd.

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

Pokretanje web sučelja Guacamole

8. Da biste pristupili web sučelju Guacamole, pokrenite preglednik i usmjerite ga na http:// server: 8080/guacamole gdje je poslužitelj ime hosta ili IP adresa vašeg poslužitelja (u našem slučaju to je < kod> http://192.168.0.100:8080/guacamole ) i prijavite se s ranije datim vjerodajnicama (korisničko ime: tecmint, lozinka: tecmint01):

9. Nakon klika na Login, bit ćete preusmjereni na administrativno sučelje gdje ćete vidjeti popis veza kojima korisnik tecmint ima pristup, prema user-mapping.xml :

10. Samo naprijed i kliknite na okvir RHEL 7 da biste se prijavili kao gacanepa (korisničko ime navedeno u definiciji veze).

Imajte na umu kako je izvor veze postavljen na 192.168.0.100 (IP poslužitelja Guacamole), bez obzira na IP adresu uređaja koji koristite za otvaranje web sučelja:

11. Ako želite prekinuti vezu, upišite exit i pritisnite Enter. Zatražit će se povratak na glavno sučelje (Početna), ponovno povezivanje ili odjava iz Guacamolea:

12. Sada je vrijeme da isprobate vezu s udaljenom radnom površinom na Windows 10:

Čestitamo! Sada možete pristupiti Windows 10 uređaju i RHEL 7 poslužitelju iz web preglednika.

Sažetak

U ovom smo članku objasnili kako instalirati i konfigurirati Guacamole kako bi se omogućio pristup udaljenim strojevima preko RDP-a i SSH-a. Službena web stranica nudi opsežnu dokumentaciju koja će vam pomoći u postavljanju pristupa pomoću drugih protokola, poput VNC-a i drugog mehanizma za provjeru autentičnosti, poput DB-a.

Kao i uvijek, ne ustručavajte se dodati nam napomenu ako imate pitanja ili prijedloge u vezi s ovim člankom. Također se radujemo što ćemo čuti vaše priče o uspjehu.

Referentni linkovi: http://guac-dev.org/