SSH tunneling, juga dikenal sebagai SSH port forwarding, adalah teknik yang digunakan untuk membuat koneksi yang aman dan terenkripsi antara klien dan server, sehingga layanan dan lalu lintas port dapat diteruskan dengan aman.
Metode ini sangat bermanfaat untuk mentransfer data di jaringan dengan aman dari layanan yang mengandalkan protokol yang tidak terenkripsi seperti VNC atau FTP, melewati firewall, atau mengakses konten yang dibatasi oleh lokasi geografis. Pada dasarnya, port TCP apa pun bisa diteruskan, dengan data yang disalurkan melalui koneksi SSH yang aman.
Ada tiga jenis utama penerusan porta SSH:
Panduan ini akan memandu Anda mengonfigurasi Local port forwarding, Remote , dan Dynamic dengan enkripsi.
Local port forwarding memungkinkan Anda mengakses suatu layanan dari server remote dengan membuat port lokal pada mesin Anda, yang akan meneruskan trafik ke server remote. Ini sering digunakan untuk mem-bypass firewall dan mengakses servis yang berjalan di jaringan remote.
ssh -L [local_port]:[remote_host]:[remote_port] [user]@[ssh_server]
contoh :
Anda ingin mengakses webserver pada remote_server
(port 80), namun tidak dapat diakses secara langsung. Anda dapat membuat tunnel lokal:
Remote port forwarding memungkinkan server remote untuk mengakses service lokal melalui koneksi SSH. Ini berguna ketika Anda perlu menyediakan akses ke servis yang berjalan di mesin lokal ke server remote.
ssh -R [remote_port]:[destination_address]:[local_port] [username]@[ssh_server]
Example:
Anda memiliki server web lokal yang berjalan pada port 80, dan Anda ingin seseorang di mesin jarak jauh mengaksesnya. Anda dapat menggunakan:
Dynamic port forwarding bekerja seperti proksi SOCKS, memungkinkan Anda untuk menyalurkan semua jenis lalu lintas (misalnya, web browsing) melalui koneksi SSH. Ini dapat digunakan untuk menerobos firewall dan server proxy.
ssh -D [local_port] [username]@[ssh_server]
example:
Ini akan membuat proxy SOCKS pada mesin lokal Anda pada port 8080, dan lalu lintas apa pun yang dirutekan melaluinya akan diteruskan melalui remote_server
.
Pro Tip: Gunakan
ssh -f -N -L
untuk menjalankan pada background