Halo semuanya, kali ini saya akan membahas mengenai SSH Tunneling. So, mari kita bahas….

Dengan menggunakan SSH Tunneling, memungkinkan kita untuk mem-forward sebuah port dari remote server ke local atau sebaliknya, dapat juga berfungsi sebagai Proxy server. Lebih mudah dalam konfigurasi dibandingkan dengan Virtual Private Network, yang bertujuan untuk mengamankan komunikasi private network melalui public network.

Ada 3 tipe SSH Tunneling yang masing-masing memiliki tujuan berbeda, yaitu Local Port Forwarding, Remote Port Forwarding, dan Dynamic Port Forwarding. Semuanya dapat dilakukan dengan menggunakan perintah ssh (OpenSSH client) di Linux, macOS, dan sistem operasi Unix-like lainnya. Di Windows kita dapat menggunakan SSH client seperti Windows terminal.

Local SSH Port Forwarding

Tipe ini mem-forward port yang diminta di local ke remote server. Misalnya kita ingin mengakses sebuah aplikasi web yang berada di remote server, tetapi terhalang firewall, sehingga tidak bisa diakses secara langsung, hanya komputer yang berada dalam satu private network yang bisa mengaksesnya.

Perintah Local SSH Port Forwarding

Perintah Local SSH Port Forwarding

1ssh -L local_port:remote_address:remote_port user@ip-server

Kasus untuk akses aplikasi

1ssh -L 8888:103.128.96.160:80 [email protected]

Setelah menjalankan perintah tersebut, kita dapat mengakses aplikasi web http://localhost:8888. Ketika mengakses http://localhost:8888, sebenarnya kita sedang mengakses http://103.128.96.173 pada remote server.

Remote SSH Port Forwarding

Tipe ini merupakan kebalikan dari Local SSH Port Forwarding atau biasa juga disebut Reverse SSH Port Forwarding. Misalnya aplikasi yang ada di komputer local ingin dapat diakses di internet.

Perintah Remote SSH Port Forwarding

1ssh -R remote_port:local_address:local_port user@ip-server

Kasus aplikasi web di local

1ssh -R 8888:localhost:80 user@ip-server

Di sisi server lakukan konfigurasi pada SSH server

1sudo nano /etc/ssh/sshd_config

Aktifkan opsi di bawah ini dengan melepas tanda #. Hal ini dilakukan agar SSH server menjadi Gateway dan mem-forward paket TCP, sehingga yang ingin mengakses aplikasi web tidak harus melakukan Local SSH Port Forwarding ke server atau berada dalam satu network dengan server.

12AllowTcpForwarding yesGatewayPorts yes

Sekarang kita mengakses http://103.128.96.160:8888, yang diakses sebenarnya adalah web server pada komputer local.

Dynamic SSH Port Forwarding

Tipe ini sama seperti proxy atau VPN. Misalnya kita ingin mengakses sebuah web secara aman, menyembunyikan Public IP Address, lokasi geografis, atau mengakses website yang hanya bisa diakses dari negara tertentu saja. SSH client akan membuat SOCKS proxy yang nantinya dikonfigurasikan ke sistem operasi atau web browser.

Perintah Dynamic SSH Port Forwarding

1ssh -D local_port user@ip-server

Kasus membuat SOCKS proxy

1ssh -D 8888 user@ip-server

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *