GNU/Linux >> Belajar Linux >  >> Linux

SSH Tunneling dan Proxying

Pengantar:

SSH, juga dikenal sebagai Secure Shell atau Secure Socket Shell, adalah protokol jaringan yang memberi pengguna, terutama administrator sistem, cara aman untuk mengakses komputer melalui jaringan yang tidak aman.

Secure Shell menyediakan otentikasi kata sandi yang kuat dan otentikasi kunci publik, serta komunikasi data terenkripsi antara dua komputer yang terhubung melalui jaringan terbuka, seperti internet.

Penerowongan SSH adalah metode pengangkutan data jaringan sewenang-wenang melalui koneksi SSH terenkripsi. Ini dapat digunakan untuk berbagai alasan terutama untuk menambahkan enkripsi ke aplikasi lama, untuk digunakan sebagai jaringan pribadi virtual dan mengakses layanan intranet melintasi firewall. Ini juga menyediakan cara untuk mengamankan lalu lintas data dari aplikasi apa pun yang diberikan menggunakan penerusan port, pada dasarnya menyalurkan port TCP/IP apa pun melalui SSH. Artinya, lalu lintas data aplikasi diarahkan untuk mengalir di dalam koneksi SSH terenkripsi sehingga tidak dapat disadap atau dicegat saat sedang transit.

Prasyarat:

  1. Server SSH mendengarkan koneksi SSH, (X11Forwarding harus diaktifkan, Anda dapat memeriksanya di file konfigurasi sshd)
  2. Klien SSH untuk meneruskan lalu lintas dari port pendengar lokal, melalui server SSH, ke server aplikasi
  3. Server tujuan menawarkan layanan (http, vnc, dll.)

Server SSH dan server tujuan dapat berada pada mesin yang sama atau pada mesin yang berbeda yang dapat diakses melalui jaringan. Diagram di bawah ini menggambarkan server SSH dan server aplikasi berada di mesin yang berbeda dan terhubung di jaringan dan mesin klien mengakses server SSH melalui internet.

Mari buat pengaturan di mana klien ingin terhubung ke layanan yang tidak menggunakan enkripsi asli tetapi tidak ingin lalu lintas dikirim tanpa enkripsi melalui Internet. Lingkungan untuk skenario ini adalah seperti di bawah ini.

Server SSH:SSH mendengarkan pada port 22 pada alamat IP 192.168.1.1

Server tujuan:Layanan VNC mendengarkan pada port 5900 dengan alamat IP 192.168.1.2

Mesin klien:klien SSH dan VNC diinstal

Membuat Terowongan menggunakan Putty :

  1. Buka antarmuka pengguna klien Putty
  2. Di jendela Sesi, di bawah “Opsi dasar untuk sesi Putty Anda”, masukkan alamat IP dan port mendengarkan untuk server SSH seperti yang dapat dilihat pada gambar di bawah ini:

3. Di panel kiri, pilih Connection->SSH->Tunnel

4. Di bawah “Opsi pengontrol penerusan port SSH”, masukkan pengaturan berikut.

5. Port sumber:Pilih port sembarang, tidak digunakan pada klien Anda; contoh menggunakan 1590.

6. Tujuan:Alamat IP dan port pendengar untuk server tujuan, 192.168.1.2:5900.

7. Biarkan tombol radio “Lokal” dan “Otomatis” dipilih.

8. Klik “Tambah” untuk menyimpan pengaturan ini.

9. Klik "Buka" untuk membuat terowongan SSH. Masukkan nama pengguna dan kata sandi Anda untuk server SSH saat diminta.

Membuat terowongan SSH menggunakan OPENSH:

Terowongan SSH dapat dibuat menggunakan perintah di bawah ini menggunakan klien OPENSSH.

ssh -L 1590:192.168.1.2:5900 192.168.1.1

Di sini -L 1590 menunjukkan Port Lokal

192.168.1.2:5900 menunjukkan IP dan port server tujuan

192.168.1.1 Menunjukkan alamat IP server SSH

Setelah memasukkan perintah login menggunakan kredensial Anda ke Server SSH.

Menghubungkan layanan VNC menggunakan SSH Tunnel :

Setelah berhasil login ke SSH Server konfigurasikan VNC Client Anda untuk login ke server tujuan menggunakan port Lokal.

Gunakan alamat Loopback lokal 127.0.0.1 dan port 1590

Contoh menunjukkan tunneling untuk port VNC, pengaturan yang sama dapat digunakan untuk mengakses layanan apa pun dengan mengubah port dan IP.

Penerowongan Terbalik SSH :

Terowongan terbalik hampir sama tetapi dalam hal ini server tujuan dapat menggunakan terowongan untuk mengakses layanan yang dihosting di jaringan sumber atau mesin itu sendiri.

Mari kita perhatikan sebuah contoh,

Misalkan Anda memiliki server di jaringan jarak jauh di belakang firewall dan hanya SSH (port 22) yang terbuka dari jaringan jarak jauh ke jaringan Anda, tetapi Anda ingin mengakses layanan http yang berjalan pada port 80 yang dihosting di kotak linux Anda.

Untuk skenario seperti ini Reverse tunneling berguna, mari kita lihat di bawah bagaimana melakukannya dengan aman dan mudah.

Gunakan perintah di bawah ini pada Kotak Linux Anda di mana layanan http Anda di-host…

ssh -R 180:localhost:80 [email protected]

Dimana -R 180:localhost adalah remote port dan IP/hostname (akan digunakan oleh remote server untuk mengakses layanan http)

Dan [email protected] adalah IP dan nama pengguna server jarak jauh tempat Anda ingin mengakses layanan web

Setelah memasukkan perintah login dengan kredensial,

Sekarang Anda dapat mengakses server web Anda dari server jauh.

Ada banyak skenario di mana SSH Tunneling dan reverse tunneling dapat digunakan untuk mengakses yang tidak dapat diakses juga dengan kemudahan dan keamanan ssh di belakangnya.


Linux
  1. Cara Mengunduh dan Mengunggah File melalui SSH

  2. Ssh Dan Izin Direktori Rumah?

  3. Bagaimana Cara Ssh Ke Server Menggunakan Server Lain??

  1. Memecahkan masalah SSH

  2. Nonaktifkan Login Root Langsung dan Akses Pengguna melalui SSH ke Server

  3. Mengapa login SSH saya lambat?

  1. Cara Mengatur Tunneling SSH

  2. Cara menginstal dan mengatur server sftp di Ubuntu 20.04

  3. vncserver -localhost dan ssh tunneling