Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills
04.06.2025

Terowongan SSH: Konfigurasi dan Kasus Penggunaan Praktis

Secure Shell (SSH) adalah protokol yang banyak digunakan yang menyediakan komunikasi terenkripsi yang aman antar komputer. Di luar penggunaan tradisionalnya untuk masuk ke sistem jarak jauh, SSH juga menawarkan kemampuan tunneling yang kuat, yang memungkinkan Anda meneruskan lalu lintas antara jaringan dan sistem dengan aman. Teknik ini dikenal sebagai tunneling SSH dan bisa sangat berharga untuk berbagai kasus penggunaan praktis, seperti mengakses layanan yang dibatasi atau menerobos firewall.

Pada artikel ini, kita akan menjelajahi cara kerja terowongan SSH, cara mengonfigurasinya, dan bagaimana Anda dapat menggunakannya untuk berbagai skenario dalam aplikasi dunia nyata.

Apa yang dimaksud dengan Terowongan SSH?

Terowongan SSH adalah metode untuk mengirimkan data arbitrer melalui koneksi SSH terenkripsi antara dua sistem. Pada dasarnya, metode ini memungkinkan Anda meneruskan lalu lintas jaringan secara aman dari satu mesin ke mesin lain dengan membuat terowongan yang dilalui data.

Terowongan SSH dapat digunakan dalam tiga cara utama:

  1. Penerusan port lokal
  2. Penerusan port jarak jauh
  3. Penerusan port dinamis

Masing-masing metode ini memiliki kasus penggunaan khusus, dan kami akan membahas masing-masing secara mendetail di bawah ini.

1. Penerusan Port Lokal

Penerusan porta lokal adalah bentuk yang paling umum digunakan dari kanalisasi SSH. Ini memungkinkan Anda untuk meneruskan lalu lintas dari port lokal pada mesin Anda ke layanan jarak jauh melalui koneksi SSH.

Cara Kerja Port Forwarding Lokal

Ketika Anda membuat terowongan SSH lokal, lalu lintas yang dikirim ke port tertentu pada mesin lokal Anda diteruskan ke server SSH, yang kemudian mengirimkannya ke tujuan yang diinginkan (seperti basis data atau server web).

Contoh Kasus Penggunaan: Mengakses Basis Data Jarak Jauh

Bayangkan Anda perlu mengakses basis data pada server jarak jauh, tetapi port basis data diblokir oleh firewall. Alih-alih membuka port secara publik, Anda bisa menggunakan penerusan port lokal untuk mengakses basis data dengan aman.

Perintah untuk Penerusan Port Lokal
ssh -L 5432:localhost:5432 user@remote-server

Dalam contoh ini:

  • -L 5432:localhost:5432: Menentukan penerusan porta lokal. 5432 pertama adalah port pada mesin lokal Anda, localhost:5432 merujuk pada basis data jarak jauh.
  • user@remote-server: Menghubungkan ke server SSH jarak jauh.

Sekarang, Anda dapat mengakses remote database dari mesin lokal Anda dengan menyambungkan ke localhost:5432.

2. Penerusan Port Jarak Jauh

Penerusan porta jarak jauh memungkinkan Anda meneruskan lalu lintas dari server jarak jauh ke mesin lokal. Ini berguna saat Anda ingin mengekspos layanan yang berjalan di mesin lokal ke server jarak jauh atau penggunanya.

Cara Kerja Penerusan Port Jarak Jauh

Dengan penerusan porta jarak jauh, lalu lintas apa pun yang mencapai porta tertentu di mesin jarak jauh akan diteruskan ke porta di mesin lokal Anda. Pengaturan ini sering digunakan ketika Anda perlu mengekspos layanan ke server jarak jauh yang hanya dapat diakses di jaringan lokal Anda.

Contoh Kasus Penggunaan: Mengekspos Aplikasi Web Lokal ke Server Jarak Jauh

Bayangkan Anda sedang mengembangkan aplikasi web secara lokal di mesin Anda, dan Anda ingin menunjukkannya kepada rekan kerja di server jauh. Alih-alih menerapkan aplikasi, Anda bisa menggunakan penerusan porta jarak jauh untuk mengizinkan akses ke aplikasi lokal.

Perintah untuk Penerusan Port Jarak Jauh
ssh -R 8080:localhost:3000 user@remote-server

Dalam contoh ini:

  • -R 8080:localhost:3000: Menentukan penerusan port jarak jauh. Port 8080 mesin jarak jauh akan diteruskan ke localhost:3000 pada mesin lokal Anda, tempat aplikasi web berjalan.
  • user@remote-server: Menghubungkan ke server SSH jarak jauh.

Sekarang, siapa pun di server jarak jauh dapat mengakses aplikasi web Anda melalui http://remote-server:8080.

3. Penerusan Port Dinamis

Port forwarding dinamis mengubah klien SSH Anda menjadi server proxy SOCKS, sehingga Anda dapat merutekan trafik dari mesin lokal Anda melalui terowongan SSH ke tujuan mana pun. Ini sangat berguna ketika Anda ingin menyalurkan semua lalu lintas (seperti penjelajahan web) melalui koneksi yang aman.

Cara Kerja Port Forwarding Dinamis

Dengan penerusan port dinamis, klien SSH mendengarkan port lokal dan meneruskan semua trafik keluar melalui server SSH. Pengaturan ini memungkinkan Anda untuk menggunakan server SSH sebagai proxy untuk koneksi internet Anda, melewati firewall dan mengamankan lalu lintas.

Contoh Kasus Penggunaan: Melewati Pembatasan Jaringan

Bayangkan Anda berada di jaringan Wi-Fi publik, dan situs web atau layanan tertentu diblokir. Anda bisa menggunakan penerusan porta dinamis untuk menerobos pembatasan ini dan mengakses internet dengan aman melalui server SSH Anda.

Perintah untuk Penerusan Port Dinamis
ssh -D 8080 user@remote-server

Dalam contoh ini:

  • -D 8080: Menentukan penerusan port dinamis. Mesin lokal Anda akan bertindak sebagai proxy SOCKS pada port 8080.
  • user@remote-server: Menghubungkan ke server SSH jarak jauh.

Setelah terowongan aktif, Anda dapat mengonfigurasi peramban atau aplikasi apa pun untuk menggunakan localhost:8080 sebagai proxy SOCKS, sehingga Anda dapat merutekan semua trafik melalui server jarak jauh dengan aman.

Menyiapkan Terowongan SSH dengan File Konfigurasi

Jika Anda sering menggunakan terowongan SSH, Anda dapat menyederhanakan prosesnya dengan membuat berkas konfigurasi SSH. File konfigurasi memungkinkan Anda menentukan pintasan untuk koneksi SSH dan pengaturan penerusan porta, sehingga lebih mudah untuk menyiapkan terowongan tanpa perlu mengetikkan perintah yang panjang setiap kali.

Contoh File Konfigurasi SSH

Tambahkan konfigurasi berikut ini ke ~/.ssh/config:

Host remote-db NamaHost remote-server Pengguna pengguna LocalForward 5432 localhost:5432

Sekarang, Anda dapat menyiapkan porta lokal yang diteruskan ke basis data jauh hanya dengan:

ssh remote-db

Contoh Praktis dari Tunneling SSH

1. Mengamankan Lalu Lintas Web melalui Proksi SOCKS

Jika Anda bekerja di lingkungan terbatas dan perlu mengakses situs web yang diblokir, Anda dapat mengonfigurasi penerusan porta dinamis untuk merutekan semua lalu lintas melalui server SSH yang aman.

ssh -D 9090 user@ssh-server

Kemudian konfigurasikan peramban Anda untuk menggunakan localhost:9090 sebagai proksi SOCKS.

2. Mengakses Layanan Internal Jarak Jauh

Misalkan Anda perlu mengakses layanan internal yang hanya tersedia di jaringan privat jarak jauh. Anda dapat menggunakan penerusan port lokal untuk menyambung ke layanan tersebut dengan aman dari mesin lokal.

ssh -L 8080:internal-service:80 user@remote-server

Ini akan memungkinkan Anda untuk mengakses layanan internal di http://localhost:8080.

3. Mengekspos Server Pengembangan Lokal

Jika Anda ingin berbagi server pengembangan lokal dengan rekan kerja di server jarak jauh, gunakan penerusan porta jarak jauh:

ssh -R 4000:localhost:3000 user@remote-server

Rekan kerja di server jarak jauh sekarang dapat mengakses aplikasi lokal Anda di http://remote-server:4000.

Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills