SSH Tunnel with PuTTY
Daftar Isi:
- Penerusan Port Lokal
- Penerusan Port Jarak Jauh
- Penerusan Port Dinamis
- Siapkan Tunneling SSH di Windows
- Kesimpulan
Tuning SSH atau penerusan port SSH adalah metode untuk membuat koneksi SSH terenkripsi antara klien dan mesin server melalui mana port layanan dapat di-relay.
Penerusan SSH berguna untuk mengangkut data jaringan layanan yang menggunakan protokol tidak terenkripsi, seperti VNC atau FTP, mengakses konten yang dibatasi secara geografis atau mem-bypass firewall perantara. Pada dasarnya, Anda dapat meneruskan port TCP apa pun dan menyalurkan lalu lintas melalui koneksi SSH yang aman.
Ada tiga jenis penerusan port SSH:
- Penerusan Port Lokal. - Meneruskan koneksi dari host klien ke host server SSH dan kemudian ke port host tujuan. Hapus Port Forwarding. - Meneruskan port dari host server ke host klien dan kemudian ke port host tujuan. Penerusan Port Dinamis. - Membuat server proxy SOCKS yang memungkinkan komunikasi di berbagai port.
, kita akan berbicara tentang cara mengatur terowongan SSH terenkripsi lokal, jarak jauh, dan dinamis.
Penerusan Port Lokal
Penerusan port lokal memungkinkan Anda untuk meneruskan port pada mesin lokal (klien ssh) ke port pada mesin remote (server ssh), yang kemudian diteruskan ke port pada mesin tujuan.
Dalam jenis penerusan ini klien SSH mendengarkan pada port yang diberikan dan terowongan koneksi apa pun ke port tersebut ke port yang ditentukan pada server SSH jarak jauh, yang kemudian menghubungkan ke port pada mesin tujuan. Mesin tujuan dapat berupa server SSH jarak jauh atau mesin lainnya.
Penerusan port lokal sebagian besar digunakan untuk menyambung ke layanan jarak jauh pada jaringan internal seperti database atau server VNC.
Di Linux, macOS dan sistem Unix lainnya untuk membuat penerusan port lokal meneruskan opsi
-L
ke klien
ssh
:
ssh -L LOCAL_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER
Opsi yang digunakan adalah sebagai berikut:
-
LOCAL_PORT
- IP mesin dan nomor port lokal. KetikaLOCAL_IP
dihilangkan klien ssh mengikat pada localhost.DESTINATION:DESTINATION_PORT
- IP atau nama host dan port mesin tujuan.SERVER_IP
- Pengguna SSH dan alamat IP server jarak jauh.
Anda dapat menggunakan nomor port apa pun yang lebih besar dari
1024
sebagai
LOCAL_PORT
. Nomor port kurang dari
1024
adalah port istimewa dan hanya dapat digunakan oleh root. Jika server SSH Anda mendengarkan pada port selain 22 (default) gunakan opsi
-p
.
Nama host tujuan harus dapat diselesaikan dari server SSH.
Katakanlah Anda memiliki server database MySQL yang berjalan pada mesin
db001.host
pada jaringan internal (pribadi), pada port 3306 yang dapat diakses dari mesin
pub001.host
dan Anda ingin terhubung menggunakan mesin
mysql
klien lokal Anda ke server database. Untuk melakukannya, Anda dapat meneruskan koneksi seperti:
ssh -L 3336:db001.host:3306 [email protected]
Setelah Anda menjalankan perintah, Anda akan diminta untuk memasukkan kata sandi pengguna SSH jarak jauh. Setelah memasukkannya, Anda akan masuk ke server jarak jauh dan terowongan SSH akan dibuat. Merupakan ide yang baik untuk mengatur otentikasi berbasis kunci SSH dan terhubung ke server tanpa memasukkan kata sandi.
Sekarang jika Anda mengarahkan klien database mesin lokal Anda ke
127.0.0.1:3336
, koneksi akan diteruskan ke server MySQL
db001.host:3306
melalui mesin
pub001.host
yang akan bertindak sebagai server perantara.
Anda dapat meneruskan banyak port ke beberapa tujuan dalam satu perintah ssh. Sebagai contoh, Anda memiliki server database MySQL lain yang berjalan di mesin
db002.host
dan Anda ingin terhubung ke kedua server dari klien lokal yang akan Anda jalankan:
ssh -L 3336:db001.host:3306 3337:db002.host:3306 [email protected]
Untuk terhubung ke server kedua Anda akan menggunakan
127.0.0.1:3337
.
Ketika host tujuan sama dengan server SSH alih-alih menentukan IP host host atau nama host, Anda dapat menggunakan
localhost
.
Katakanlah Anda perlu terhubung ke mesin jarak jauh melalui VNC yang berjalan di server yang sama dan tidak dapat diakses dari luar. Perintah yang akan Anda gunakan adalah:
ssh -L 5901:127.0.0.1:5901 -N -f [email protected]
Opsi
-f
memberitahu perintah
ssh
untuk dijalankan di latar belakang dan
-N
tidak untuk mengeksekusi perintah jarak jauh. Kami menggunakan
localhost
karena VNC dan server SSH berjalan pada host yang sama.
Penerusan Port Jarak Jauh
Penerusan port jarak jauh adalah kebalikan dari penerusan port lokal. Ini memungkinkan Anda untuk meneruskan port pada mesin remote (ssh server) ke port pada mesin (ssh client) lokal, yang kemudian diteruskan ke port pada mesin tujuan.
Dalam jenis penerusan ini server SSH mendengarkan pada port yang diberikan dan terowongan koneksi apa pun ke port itu ke port yang ditentukan pada klien SSH lokal, yang kemudian menghubungkan ke port pada mesin tujuan. Mesin tujuan dapat berupa mesin lokal atau mesin lainnya.
Di Linux, macOS dan sistem Unix lainnya untuk membuat penerusan port jarak jauh meneruskan opsi
-R
ke klien
ssh
:
ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER
Opsi yang digunakan adalah sebagai berikut:
-
REMOTE_PORT
- IP dan nomor port pada server SSH jarak jauh.REMOTE
kosong berarti bahwa server SSH jauh akan mengikat semua antarmuka.DESTINATION:DESTINATION_PORT
- IP atau nama host dan port mesin tujuan.SERVER_IP
- Pengguna SSH dan alamat IP server jarak jauh.
Penerusan porta lokal sebagian besar digunakan untuk memberikan akses ke layanan internal kepada seseorang dari luar.
Katakanlah Anda sedang mengembangkan aplikasi web di mesin lokal Anda dan Anda ingin menampilkan pratinjau kepada rekan pengembang Anda. Anda tidak memiliki IP publik sehingga pengembang lain tidak dapat mengakses aplikasi melalui Internet.
ssh -L 8080:127.0.0.1:3000 -N -f [email protected]
Perintah di atas akan membuat server ssh untuk mendengarkan pada port
8080
dan tunnel semua traffic dari port ini ke mesin lokal Anda pada port
3000
.
Sekarang sesama pengembang Anda dapat mengetik
the_ssh_server_ip:8080
di browser-nya dan melihat pratinjau aplikasi Anda yang luar biasa.
Penerusan Port Dinamis
Penerusan port dinamis memungkinkan Anda membuat soket pada mesin (ssh client) lokal yang bertindak sebagai server proxy SOCKS. Ketika klien terhubung ke port ini, koneksi diteruskan ke mesin remote (ssh server), yang kemudian diteruskan ke port dinamis pada mesin tujuan.
Dengan cara ini, semua aplikasi yang menggunakan proxy SOCKS akan terhubung ke server SSH dan server akan meneruskan semua lalu lintas ke tujuan yang sebenarnya.
Di Linux, macOS dan sistem Unix lainnya untuk membuat dynamic port forwarding (SOCKS) meneruskan opsi
-D
ke klien
ssh
:
ssh -D LOCAL_PORT SSH_SERVER
Opsi yang digunakan adalah sebagai berikut:
-
LOCAL_PORT
- IP mesin dan nomor port lokal. KetikaLOCAL_IP
dihilangkan klien ssh mengikat pada localhost.SERVER_IP
- Pengguna SSH dan alamat IP server jarak jauh.
Contoh tipikal dari penerusan port dinamis adalah untuk tunnel traffic web browser melalui server SSH.
Perintah berikut akan membuat terowongan SOCKS pada port
9090
:
ssh -D 9090 -N -f [email protected]
Setelah tunneling didirikan, Anda dapat mengkonfigurasi aplikasi Anda untuk menggunakannya. Artikel ini menjelaskan cara mengkonfigurasi Firefox dan browser Google Chrome untuk menggunakan proksi SOCKS.
Penerusan port harus dikonfigurasikan secara terpisah untuk setiap aplikasi yang Anda inginkan untuk melakukan tunnel traffic.
Siapkan Tunneling SSH di Windows
Pengguna Windows dapat membuat terowongan SSH menggunakan klien SST PuTTY. Anda dapat mengunduh Putty di sini.
-
Luncurkan Putty dan masukkan Alamat IP server SSH di bidang
Host name (or IP address)
.Jendela baru yang menanyakan nama pengguna dan kata sandi Anda akan muncul. Setelah Anda memasukkan nama pengguna dan kata sandi Anda, Anda akan masuk ke server Anda dan terowongan SSH akan dimulai.
Menyiapkan otentikasi kunci publik akan memungkinkan Anda untuk terhubung ke server Anda tanpa memasukkan kata sandi.
Kesimpulan
Kami telah menunjukkan kepada Anda cara mengatur terowongan SSH dan meneruskan lalu lintas melalui koneksi SSH yang aman. Untuk kemudahan penggunaan, Anda dapat menentukan terowongan SSH di file konfigurasi SSH Anda atau membuat alias Bash yang akan mengatur terowongan SSH.
keamanan sshSimple Port Forwarding Freebie Membantu Router Rumah Menggunakan Aplikasi Online
Konfigurasi router rumah Anda agar berfungsi dengan baik dengan aplikasi Internet rewel, seperti game.
Cara mengatur tunneling ssh untuk mem-bypass firewall
Firewall adalah hal yang baik, tetapi jika itu menghentikan Anda dari melakukan sesuatu maka SSH Tunneling adalah pilihan yang baik untuk dijelajahi.
Cara memeriksa port mendengarkan di linux (port sedang digunakan)
Artikel ini menjelaskan cara mengetahui port yang digunakan dan layanan mana yang mendengarkan port mana yang menggunakan perintah netstat, ss dan lsof. Petunjuk ini berlaku untuk semua sistem operasi berbasis Linux dan Unix seperti macOS.