Belajar Remote Desktop - SSH Tunneling & Remote Access Aman
Episode 14 of 23

Belajar Remote Desktop - SSH Tunneling & Remote Access Aman

Episode ini membedah SSH tunneling untuk akses remote yang aman: local forward untuk VNC dan RDP, tunnel dua arah untuk bypass firewall, jump host dengan ssh -J, serta reverse tunnel agar server di belakang NAT bisa diakses dari luar jaringan.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Di episode 13 kalian mengenali SSH tunnel sebagai lapis enkripsi paling universal. Episode 14 mengupas teknik itu sampai tuntas. Menguasai SSH tunneling bukan sekadar "menambah enkripsi" — ini membuka kemampuan yang lebih besar: melewati firewall yang menutup port VNC/RDP, mencapai mesin di belakang NAT, dan mengakses jaringan internal melalui satu jalur aman.

Episode ini membahas empat pola: local forward untuk VNC dan RDP, tunnel dua arah, jump host dengan ssh -J, dan reverse tunnel untuk akses dari luar. Di akhir episode, kalian akan bisa mengakses server remote dengan aman dari mana pun, tanpa membuka satu pun port VNC ke internet.

Mengapa Tunnel SSH

Prinsip Dasar Local Forward

Konsep local forward sederhana: kalian meminta SSH membuka port di mesin lokal yang meneruskan semua koneksinya melalui koneksi SSH ke tujuan di sisi server. Karena data melewati SSH, semuanya terenkripsi penuh.

plaintext
ssh -L <port lokal>:<tujuan>:<port tujuan> user@server

Aturan praktis penting: tujuan ditulis dari sudut pandang server SSH. localhost:5900 berarti port 5900 di mesin server itu sendiri. Ini sering membingungkan pemula yang mengira localhost merujuk ke mesin lokal.

Local Forward untuk VNC

Tunnel VNC dengan -L

Skenario paling umum: server VNC terikat ke localhost, dan kalian ingin mengaksesnya dari mesin lain. Buka tunnel:

Tunnel VNC lokal
ssh -L 5901:localhost:5900 arman@192.168.1.20

Perintah ssh -L 5901:localhost:5900 arman@192.168.1.20 membuka port 5901 di mesin lokal yang meneruskan ke port 5900 di server — melewati koneksi SSH yang terenkripsi. Sekarang hubungkan viewer ke port lokal:

Viewer ke port tunnel
vncviewer localhost:5901

Server tetap terikat ke localhost dan firewall tetap menutup port 5900 dari jaringan. Satu-satunya jalan masuk adalah SSH — persis pola yang kita harapkan.

Tip

Tambahkan opsi -N pada SSH agar tunnel berjalan tanpa membuka shell: ssh -N -L 5901:localhost:5900 arman@server. Gunakan -f jika ingin tunnel berjalan di latar belakang. Kombinasi -Nf ideal untuk tunnel yang murni penerusan port.

Tunnel untuk RDP

Meneruskan Port 3389

Pola yang sama berlaku untuk RDP. Server xrdp mendengarkan di port 3389; bungkus dengan tunnel sebelum terhubung:

Tunnel RDP melalui SSH
ssh -N -L 33890:localhost:3389 arman@192.168.1.20

Setelah tunnel aktif, arahkan client RDP ke port lokal 33890:

Koneksi RDP lewat tunnel
xfreerdp /v:localhost:33890 /u:arman /sec:nla

Perintah xfreerdp /v:localhost:33890 /u:arman /sec:nla menghubungkan client RDP ke port tunnel. Dari sisi Windows, gunakan mstsc /v:localhost:33890 dengan tujuan yang sama. RDP kini terenkripsi ganda: enkripsi internal RDP ditambah enkripsi SSH.

Tunnel Dua Arah dengan -R

Kadang kalian perlu akses sebaliknya: mesin lokal yang menyediakan port bagi server SSH. Itulah reverse tunnel -R, yang akan kita pakai juga untuk NAT di bagian akhir:

Reverse tunnel dari server
ssh -N -R 5902:localhost:5901 arman@192.168.1.20

Di mesin server, port 5902 akan meneruskan ke port 5901 di mesin lokal. Ini berguna saat aplikasi di server perlu menjangkau service yang hanya berjalan di mesin kalian.

Jump Host dengan ssh -J

Melompati Mesin Perantara

Dalam arsitektur produksi, server target sering tidak bisa dijangkau langsung — harus melewati bastion host atau jump host terlebih dahulu. Opsi -J membuat SSH membangun koneksi ke target melewati satu atau lebih perantara:

Tunnel VNC via jump host
ssh -N -L 5901:localhost:5900 -J arman@bastion arman@192.168.1.20

Perintah ssh -N -L 5901:localhost:5900 -J arman@bastion arman@192.168.1.20 membuka tunnel ke server internal melalui bastion. Koneksi dari viewer tetap vncviewer localhost:5901 — kalian tidak perlu tahu ada perantara di tengah.

Dengan pola ini, jump host menjadi satu-satunya pintu masuk ke jaringan internal, dan semua port service internal tetap tertutup dari dunia luar.

Reverse Tunnel untuk Akses dari Luar NAT

Menjangkau Server di Belakang NAT

Tantangan terakhir: server kalian di belakang NAT/rumahan tidak memiliki IP publik. Solusi paling praktis adalah reverse tunnel menuju mesin publik yang bisa dijangkau. Dari server di belakang NAT:

Reverse tunnel dari belakang NAT
ssh -N -R 5901:localhost:5900 arman@vps-publik.com

Perintah ssh -N -R 5901:localhost:5900 arman@vps-publik.com membuat port 5901 di VPS publik meneruskan ke port 5900 di server kalian. Sekarang dari mana pun di internet, akses ke server cukup dua langkah:

Akses server di belakang NAT
ssh -L 15901:localhost:5901 arman@vps-publik.com
vncviewer localhost:15901

Agar tunnel tetap hidup, kombinasikan dengan tools seperti autossh yang otomatis menyalakan ulang koneksi jika putus. Ini pola yang sama dengan banyak solusi VPN/remote komersial, tapi dengan komponen open source murni.

Penutup

Episode 14 menguasai SSH tunneling: local forward untuk VNC dan RDP dengan -L, tunnel dua arah dengan -R, jump host dengan -J, dan reverse tunnel agar server di belakang NAT bisa diakses dari luar — semuanya tanpa membuka port VNC/RDP ke publik.

Inti yang harus dibawa pulang:

  • Local forward -L meneruskan port lokal ke tujuan di sisi server.
  • Tujuan ditulis dari sudut pandang server SSH — localhost:5900 adalah server.
  • -N menonaktifkan shell; -f menjalankan tunnel di latar belakang.
  • -J melompati bastion host menuju server internal.
  • Reverse tunnel -R mengekspos port server ke mesin publik.
  • Autossh menjaga reverse tunnel tetap hidup untuk akses dari belakang NAT.

Di episode 15 selanjutnya kita menyeberang ke protokol kedua: RDP server di Linux — menginstall dan mengonfigurasi xrdp dengan file xrdp.ini dan backend Xorg/Xvnc, menghubungkannya dari Windows mstsc, serta membandingkannya dengan GNOME Remote Desktop. Sampai jumpa!

Belajar Remote Desktop - SSH Tunneling & Remote Access Aman | Belajar Remote Desktop