Terkadang kita perlu untuk mengakses service yang hanya berjalan di dalam server seperti database service. Service-service yang berjalan “di dalam” server ini hanya mendengarkan permintan koneksi dari alamat lokal seperti localhost saja atau 127.0.0.1. Sehingga tentu saja kita tidak bisa secara langsung mengakses nya dari luar. Maka dari itu kita perlu seolah-oleh berada “di dalam”, dengan memanfaatkan SSH Port Forwarding.

SSH Port Forwarding, seperti namanya akan melakukan port forwarding lewat bantuan protokol SSH. Terdapat dua mode dalam port forwarding ini yaitu Local Port Forwarding dan Remote Port Forwarding.

Local Port Forwarding digunakan bila kita ingin membuat port yang ada pada server seolah – olah berada di localhost kita seperti tampak pada ilustrasi berikut

Untuk dapat melakukannya kita bisa menggunakan perintah sebagai berikut

ssh -L 8090:localhost:8529 -f -N root@123.123.111.10

Perintah di atas akan melakukan forwarding port 8529 di server menjadi port 8090 di localhost kita. Saya menggunakan tambahan flag -f dan -N pada baris perintah di atas. Tambahan flag tersebut berguna untuk memerintahkan ssh agar berjalan di background dan tidak mengeksekusi perintah apapun di remote server.

Remote Port Forwarding digunakan bila kita ingin membuat port local kita bisa diakses dari server. Jadi service lokal kita bisa diakses oleh siapa saja di internet. Seperti tampak pada ilustrasi berikut

Untuk dapat melakukannya kita bisa menggunakan perintah sebagai berikut

ssh -R 7000:localhost:8529 -f -N root@123.123.111.10

Perintah di atas akan melakukan forward port 8529 di localhost menjadi port 7000 di server.

Selamat mencoba dan semoga bermanfaat.


Bramandityo Prabowo

Bramandityo Prabowo

Suka makan dan tentu saja suka masak. Tertarik dengan Functional Programing, Distributed System, Network Security, Operating System Customization, Virtualization dan NoSQL. Language of choices nya adalah Python, Bash, Go, Erlang, Nimlang. Rust dan Ocaml.