Forward RStudio Server Menggunakan Reverse SSH di Linux
Beberapa bulan yang lalu, saya sempat menuliskan bagaimana cara agar RStudio Server (kini bernama Posit Server) yang kita miliki di local bisa diakses dari jaringan internet melalui metode IP forwarding menggunakan dua layanan:
- ngrok.
- Plus: gratis.
- Negatif: link yang digunakan berubah-ubah (jika menggunakan akun gratis).
- pagekite.
- Plus: link bisa customize sesuai dengan kebutuhan.
- Negatif: free trial dengan bandwith sebesar 2.5 Gb.
Salah satu yang saya notice adalah keduanya memiliki limitasi di bandwith. Kadang lag yang ditimbulkan cukup mengganggu bagi saya.
Alternatif Lain
Salah satu alternatif lain yang bisa dicoba adalah dengan menggunakan teknik reverse ssh. Syarat yang harus dipenuhi untuk menggunakan metode ini adalah kita harus memiliki VPS dengan IP publik. VPS tersebut tidak harus memiliki spek yang dewa. Cukup spek sederhana saja kita bisa menggunakannya.
Cara kerjanya simpel, yakni dengan membuat VPS mengakses RStudio Server di local dengan
ssh
secara kontinu.
Kali ini saya akan tunjukan caranya dengan memanfaatkan VPS dari situs Digital Ocean.
Saya akan membuat RStudio Server di localhost:8888
saya bisa diakses melalui IP publiknya VPS.
Yuk disimak.
Langkah I
Buat VPS (atau disebut dengan droplet) di situs Digital Ocean.
Saya akan sewa VPS dengan spek paling kecil dan harga paling murah (sekitar 4 USD per bulan).
Setelah selesai, kita akan memiliki satu alamat IP publik sebagai berikut:
Langkah II
Kita buka VPS tersebut melalui ssh
di terminal.
ssh root@143.198.200.181
Lalu kita edit file berikut ini sshd_config
. Kita bisa akses di:
sudo nano /etc/ssh/sshd_config
Ganti setting ke sebagai berikut:
AllowTcpForwarding yes
GatewayPorts yes
Kita restart ssh
nya dengan perintah:
sudo su
/etc/init.d/ssh restart
Langkah III
Langkah terakhir adalah melakukan reverse ssh
dari port 8888
local saya (RStudio Server saya berjalan di localhost:8888
) ke
port 8888
di VPS dengan perintah sebagai berikut:
ssh -NR 8888:localhost:8888 root@143.198.200.181
Jika sudah selesai, kita bisa akses 143.198.200.181:8888
di browser
dengan menggunakan gadget apapun.
Jika RStudio Server kalian berjalan di port lain, silakan disesuaikan saja.
Bagaimana? Mudah kan?