Remote Desktop Dengan Browser Mengunakan Apache Guacamole

 
Apache Guacamole merupakan salah satu protokol untuk melakukan remote access. Mungkin lebih tepat disebut sebagai remote access proxy. Guacamole untuk remote desktop Windows dan pada Linux dengan SSH menggunakan Browser.

Apache Guacamole server memiliki protokol sendiri untuk melakukan remote desktop. Setelah terkoneksi maka Guacamole akan meneruskan koneksi ke host yang telah dikonfigurasi. Protokol yang didukung RDP, VNC SSH, dan Kubernetes. Sehingga dengan masuk ke Apache Guacamole maka dapat melakukan akses ke beberapa server.

Hal yang menarik adalah Apache Guacamole adalah clientless. Artinya “tidak perlu” menginstal aplikasi pada sisi client. hanya dengan browser yang memiliki kemampuan HTML5 maka remote desktop bisa dilakukan.

Berikut adalah remote desktop dengan browser menggunakan Apache Guacamole 

1.Instal Apache Guacamole pada Ubuntu Server

Menggunakan metode instalasi Docker maka instalasi ini bisa diaplikasikan pada distribusi Linux apa saja, yang penting mendukung Docker. Instalasi ini membutuhkan tiga container yang saling terhubung.

  1. guacamole/guacad – Container untuk guacamole server
  2. guacamole/guacamole – Container untuk HTML5 web app
  3. mysql – Container untuk otentikasi dan data

Untuk memudahkan instalasi akan menggunakan custom docker image yaitu maxwaldorf/guacamole. Dengan docker image ini maka tidak perlu melakukan instalasi tiga container tapi cukup satu container karena semua kebutuhan aplikasi dan database dibundle jadi satu. 

Gunakan perintah Docker dibawah ini, untuk menginstal dan menjalankan Apache Guacamole.

$ mkdir $HOME/config

$ sudo docker run -d --rm --name guacamole \

-p 8080:8080 -v /tmp/config:/config \

maxwaldorf/guacamole:latest

Catatan : Perintah diatas akan menjalankan container dari image maxwaldorf/guacamole dan mempublish port 8080. 

Buka browser, ketikan IP / hostname dari Ubuntu Server tempat instalasi Apache Guacamole. Jika IP server adalah 127.1.2.3.4 maka alamatnya adalah http://127.1.2.3.4:8080.

Default username dan password untuk Apache Guacamole yang diinstal dari image tersebut adalah guacadmin dan guacadmin.


2. Informasi Koneksi Server

Apache Guacamole bertindak sebagai proxy atau gateway dari beberapa server. Dan berikut ini adalah contoh skema dari dua server yang akan digunakan.


Terdapat dua server yang akan dicoba untuk akses melalui Apache Guacamole. Satu adalah Windows Server 2019 lewat RDP dan Ubuntu Server 20.04 akan diakses lewat SSH.


3. Koneksi di Apache Guacamole

3.1. Membuat koneksi untuk Windows Server 2019.  

3.1.1. Masuk ke menu Settings –> tab Connections –> klik New Connection

3.1.2. Edit Connection

  • Name: Windows Server 2019
  • Location: ROOT
  • Protocol: RDP

3.1.3. Network

  • Hostname: 172.31.16.32 (Sesuaikan)
  • Port: 3389

3.1.4. Authentication

  • Username: Administrator
  • Password: (Sesuaikan)
  • Ignore server certificate: centang

3.1.5. Display

  • Color depth: Low color (16 bit) (Sesuaikan)
  • Resize method: “Display Update” virtual channel (RDP 8.1+)

3.1.6. Klik Save


3.2. Membuat koneksi untuk Ubuntu Server 20.04 menggunakan koneksi SSH.

3.2.1. Masuk ke menu Settings –> tab Connections –> klik New Connection

3.2.2. Edit Connection

  • Name: Ubutnu Server 20.04
  • Location: ROOT
  • Protocol: SSH

3.2.3. Network

  • Hostname: 172.31.16.33 (Sesuaikan)
  • Port: 22

3.2.4. Authentication

  • Username: ubuntu
  • Private key: (Salin isi private key)

3.2.5. Klik Save

 

4. Koneksi ke Server dengan Apache Guacamole

4.1. Koneksi remote desktop ke Windows Server 2019 melalui Apache Guacamole.

4.1.1. Buka browser, lalu isikan alamat Apache Guacamole. Pada halaman Home bagian All Connections pilih koneksi “Windows Server 2019” yang telah dibuat sebelumnya.

4.1.2. Setelah itu akan ditampilkan Windows Server seperti yang ditunjukkan oleh gambar berikut.

4.2. Koneksi SSH melalui web browser menggunakan Apache Guacamole. 

4.2.1. Buka browser, lalu isikan alamat Apache Guacamole. Pada bagian All Connections pilih koneksi “Ubuntu Server 20.04” yang telah dibuat sebelumnya.

42.2. Setelah itu, maka sudah masuk pada Shell dari Ubuntu. Hampir semua operasi yang biasa digunakan pada Shell berfungsi. Seperti command history, TAB sebagai auto-complete, resize window dan lain-lain.


Catatan :

Dengan Apache Guacamole maka dapat melakukan sentralisasi login pada deretan server yang dimiliki. Karena akses melalui web browser jadi mempermudah akses dan dapat diakses darimana saja.

Yang penting bahwa secara default Apache Guacamole tidak menggunakan HTTPS. Lebih baik diletakkan dibelakang HTTP proxy seperti Nginx dan setup SSL termination disana.