Kif tinstalla Guacamole biex taċċessa l-Kompjuters tiegħek minn kullimkien f'Ubuntu


Apache Guacamole huwa portal mingħajr klijent ibbażat fuq il-web b'sors miftuħ li jipprovdi aċċess remot għal servers u anke client PCs permezz ta 'web browser li juża protokolli bħal SSH, VNC u RDP.

Apache Guacamole jinkludi 2 komponenti ewlenin:

  • Guacamole Server: Dan jipprovdi l-komponenti kollha tan-naħa tas-server u indiġeni meħtieġa minn Guacamole biex jikkonnettja ma' desktops remoti.
  • Klijent Guacamole: Din hija applikazzjoni tal-web HTML 5 u klijent li jippermettilek tikkonnettja mas-servers/desktops remoti tiegħek. Dan huwa sostnut mis-server Tomcat.

F'dan l-artikolu, aħna ser jimxuk permezz tal-installazzjoni ta 'Apache Guacamole fuq Ubuntu 20.04.

Qabel tibda, kun żgur li għandek dan li ġej:

  • Istanza ta' utent sudo kkonfigurat.
  • Minimu 2GB RAM

Ejja issa nidħlu u ninstallaw Guacamole fuq Ubuntu 20.04 LTS.

Fuq din il-paġna

  • Kif tinstalla Apache Guacamole f'Ubuntu Server
  • Kif tinstalla Tomcat fuq Ubuntu Server
  • Kif Tinstalla Guacamole Client f'Ubuntu
  • Kif tikkonfigura l-Klijent Guacamole f'Ubuntu
  • Kif tikkonfigura l-Konnessjonijiet tas-Server Guacamole f'Ubuntu
  • Kif Aċċess Remote Ubuntu Server permezz ta' Guacamole Web UI

1. L-installazzjoni ta 'Apache Guacamole issir billi tikkompila l-kodiċi tas-sors. Biex dan jinkiseb, huma meħtieġa xi għodod tal-bini bħala prerekwiżit. Għalhekk, ħaddem il-kmand apt li ġej:

$ sudo apt-get install make gcc g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev libssl-dev libvorbis-dev libwebp-dev

2. Ladarba l-installazzjoni tal-għodda tal-bini tkun kompluta, ipproċedi u niżżel l-aħħar fajl tas-sors tarball mill-kmand wget hawn taħt.

$ wget https://downloads.apache.org/guacamole/1.2.0/source/guacamole-server-1.2.0.tar.gz

3. Sussegwentement, estratt il-fajl tarball Guacamole u naviga fil-folder mhux kompressat.

$ tar -xvf guacamole-server-1.2.0.tar.gz
$ cd guacamole-server-1.2.0

4. Minn hemm 'il quddiem, tesegwixxi l-iskrittura tal-konfigurazzjoni biex tivverifika jekk hemmx xi dipendenzi nieqsa. Dan normalment jieħu żewġ minuti jew hekk, għalhekk kun paċenzjuż peress li l-iskript iwettaq il-kontroll tad-dipendenza. Barrage ta 'output se jintwera inklużi dettalji dwar il-verżjoni server kif muri.

$ ./configure --with-init-dir=/etc/init.d

5. Biex tikkumpila u tinstalla Guacamole, mexxi l-kmandi hawn taħt, wieħed wara l-ieħor.

$ sudo make
$ sudo make install

6. Imbagħad mexxi l-kmand ldconfig biex toħloq kwalunkwe links u cache rilevanti għall-libreriji kondiviżi l-aktar reċenti fid-direttorju tas-server Guacamole.

$ sudo ldconfig

7. Biex tibda taħdem is-server Guacamole, aħna se nibdew il-Guacamole Daemon - guacd - u nippermettuh mal-boot-up u nivverifikaw l-istatus kif muri.

$ sudo systemctl start guacd
$ sudo systemctl enable guacd
$ sudo systemctl status guacd

8. Tomcat server huwa rekwiżit peress li se jintuża biex iservi l-kontenut tal-klijent Guacamole lill-utenti li jikkonnettjaw mas-server permezz ta 'browser. Għalhekk, mexxi l-kmand li ġej biex tinstalla Tomcat:

$ sudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user

9. Mal-installazzjoni, is-server Tomcat għandu jkun qed jaħdem. Tista' tikkonferma l-istatus tas-server kif muri:

$ sudo systemctl status tomcat

10. Jekk Tomcat mhux qed jaħdem, ibda u ppermettih fuq il-boot:

$ sudo systemctl start tomcat
$ sudo systemctl enable tomcat

11. B'mod awtomatiku, Tomcat jaħdem fuq il-port 8080 u jekk għandek l-UFW taħdem, trid tħalli dan il-port kif muri:

$ sudo ufw allow 8080/tcp
$ sudo ufw reload

12. Bis-server Tomcat installat, Aħna nipproċedu biex ninstallaw il-klijent Guacamole li hija applikazzjoni tal-web ibbażata fuq Java li tippermetti lill-utenti jikkonnettjaw mas-server.

L-ewwel, aħna se noħolqu direttorju ta 'konfigurazzjoni kif muri.

$ sudo mkdir /etc/guacamole

13. Aħna se tniżżel il-binarju tal-klijent Guacamole fid-direttorju /etc/guacamole billi tuża l-kmand kif muri.

$ sudo wget https://downloads.apache.org/guacamole/1.2.0/binary/guacamole-1.2.0.war -O /etc/guacamole/guacamole.war

14. Ladarba titniżżel, oħloq link simboliku għad-direttorju Tomcat WebApps kif muri.

$ ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/

15. Biex tiskjera l-web app, erġa ibda kemm is-server Tomcat kif ukoll id-daemon Guacamole.

$ sudo systemctl restart tomcat9
$ sudo systemctl restart guacd

Hemm 2 fajls ta 'konfigurazzjoni ewlenin assoċjati ma' Guacamole; il-/etc/guacamole u l-/etc/guacamole/guacamole.properties fajl li jintuża minn Guacamole u l-estensjonijiet tiegħu.

16. Qabel ma tipproċedi, Għandna bżonn noħolqu direttorji għall-estensjonijiet u l-libreriji.

$ sudo mkdir /etc/guacamole/{extensions,lib}

17. Sussegwentement, ikkonfigura l-varjabbli tal-ambjent tad-direttorju tad-dar u waħħalha mal-fajl tal-konfigurazzjoni /etc/default/tomcat9.

$ sudo echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat9

18. Biex tiddetermina kif Guacamole jgħaqqad mad-daemon Guacamole - guacd - aħna noħolqu l-fajl guacamole.properties kif muri.

$ sudo vim /etc/guacamole/guacamole.properties

Żid il-kontenut hawn taħt u ssejvja l-fajl.

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

19. Sussegwentement, se noħolqu l-fajl user-mapping.xml li jiddefinixxi l-utenti li jistgħu jgħaqqdu u login għal Guacamole permezz tal-interface tal-web fuq browser.

Qabel ma nagħmlu dan irridu niġġeneraw password hashed għall-utent tal-login kif muri. Kun żgur li tissostitwixxi l-password b'saħħitha tiegħek bil-password tiegħek stess.

$ echo -n yourStrongPassword | openssl md5

Għandek tikseb xi ħaġa bħal din.

(stdin)= efd7ff06c71f155a2f07fbb23d69609

Ikkopja l-password hashed u ssejvjaha x'imkien peress li ser ikollok bżonn dan fil-fajl user-mapping.xml.

20. Issa oħloq il-fajl user-mapping.xml.

$ sudo vim /etc/guacamole/user-mapping.xml

Paste l-kontenut hawn taħt.

<user-mapping>
    <authorize 
            username="tecmint"
            password="efd7ff06c71f155a2f07fbb23d69609"
            encoding="md5">

        <connection name="Ubuntu20.04-Focal-Fossa">
            <protocol>ssh</protocol>
            <param name="hostname">173.82.187.242</param>
            <param name="port">22</param>
            <param name="username">root</param>
        </connection>
        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">173.82.187.22</param>
            <param name="port">3389</param>
        </connection>
    </authorize>
</user-mapping>

Iddefinijna żewġ profili ta' konnessjoni li jippermettulek tikkonnettja ma' 2 sistemi remoti li huma online:

  • Ubuntu 20.04 Server – IP: 173.82.187.242 permezz tal-protokoll SSH
  • Windows Server – IP: 173.82.187.22 permezz tal-protokoll RDP

21. Biex twettaq il-bidliet, ibda mill-ġdid is-server Tomcat u Guacamole:

$ sudo systemctl restart tomcat9
$ sudo systemctl restart guacd

Sa dan il-punt, is-server u l-klijent Guacamole ġew ikkonfigurati. Ejja issa naċċessaw Guacamole web UI billi tuża l-browser.

22. Biex taċċessa l-UI web Guacamole, iftaħ il-browser tiegħek u bbrawżja l-indirizz tas-server tiegħek kif muri:

http://server-ip:8080/guacamole

23. Idħol billi tuża l-kredenzjali li speċifikajt fil-fajl user-mapping.xml. Malli tidħol, issib il-konnessjonijiet tas-server li ddefinijt fil-fajl elenkat fil-buttuna taħt is-sezzjoni KOLLHA KONNESSJONIJIET.

24. Biex taċċessa s-server Ubuntu 20.04 LTS, ikklikkja fuq il-konnessjoni u dan jibda konnessjoni SSH mas-server Ubuntu remot. Inti ser tiġi mħeġġa għall-password u ladarba inti ttajpjaha u tolqot ENTER, inti tkun illoggjat fis-sistema remota kif muri.

Għall-magna tas-server tal-Windows, ikklikkja fuq il-konnessjoni tas-server rispettiva u agħti l-password biex tidħol fis-server permezz tal-RDP.

U dan iġib il-gwida tagħna fejn wrejnek kif tinstalla u tikkonfigura Guacamole fuq Ubuntu 20.04 LTS.