Arahkan ulang port melalui SSH

Terkadang kita membutuhkan mengirimkan data melalui soket antara mesin yang berbeda, seperti koneksi Telnet, unduhan file FTP, kueri SQL atau jenis transmisi lainnya.

Data itu berjalan mentah melalui jaringan, jadi tidak aman, yang berarti bahwa mereka dapat dicegat oleh simpul mana pun yang berada di jalur antara asal dan tujuan, yaitu, dicuri.

Kami tidak dapat mencegah data ini ditangkap, tetapi yang dapat kami cegah adalah bahwa data ini ditafsirkan dan dipahami oleh pihak ketiga, mengenkripsi komunikasi.

SSH adalah alat yang memungkinkan kita melakukan koneksi aman antar mesin. Penggunaannya yang paling umum adalah menghubungkan dari jarak jauh ke penerjemah perintah.

Namun, ia menawarkan kemungkinan lain, seperti membuat terowongan terenkripsi antara mesin yang berbeda.
Misalkan kita ingin telnet dari host1 ke host2:

host1$ telnet host2

Komunikasi ini sepenuhnya terbuka dan bisa dicegat. Untuk melindunginya, kami akan mengalihkan port yang dipilih secara sewenang-wenang (misalnya 5000) pada host 1 ke port 23 (telnet) pada host2.

Dengan cara ini kita akan mendapatkan semua data yang dikirim ke port 5000 dari host1 untuk melakukan perjalanan dienkripsi melalui terowongan yang dibuka ssh melalui port 22 dari host2 dan kemudian dialihkan ke port 23 dari host2, sehingga mencapai tujuan akhirnya.

Untuk melakukan ini, kita perlu mengetahui nama pengguna dan kata sandi host2.

Untuk membuka terowongan kami menulis:

host1$ ssh -R 5000:localhost:23 usuariohost2@host2

O baik:

host1$ ssh -L 5000:host2:23 usuariohost2@host2

Kedua opsi itu setara. Untuk membuat koneksi telnet, kami tidak lagi merujuk ke host2 tetapi ke port yang dipilih pada host1:

host1$ telnet localhost 5000

Dengan ini kami membuat komunikasi apa pun aman, baik itu telnet atau lainnya. Menyelidiki lebih banyak, kita akan melihat itu berkat kekuatan SSH Pengalihan ini juga dapat dilakukan ke mesin ketiga, yang memungkinkan kita bahwa dengan satu titik masuk kita dapat mengakses dengan aman dari seluruh LAN ke LAN yang berbeda.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   nano dijo

    Teorinya terlihat sangat menarik, tetapi akan lebih menarik jika kita melihat kasus praktis.

    Tetapi kenyataannya, meskipun saya pendek, saya menyukai artikel itu.

    1.    igual dijo

      mungkin melihat wiki Anda mendapatkan inspirasi https://wiki.archlinux.org/index.php/Secure_Shell#Forwarding_other_ports
      dan yang sama, tetapi bagian autossh https://wiki.archlinux.org/index.php/Secure_Shell#Autossh_-_automatically_restarts_SSH_sessions_and_tunnels
      Sebenarnya, apapun yang bisa Anda kirim melalui ssh, baik itu streaming, koneksi ke host. dll. bahwa karena alasan x Anda ingin mengenkripsi mereka.
      dan aturan keamanan

  2.   Tesla dijo

    Saya terkadang menggunakan SSH pada level yang sangat dasar. Port default adalah 22, bukan?

    Jadi, jika saya mengerti dengan benar, pc saya adalah host 1 dan yang ingin saya hubungkan adalah host2, terowongan ini akan membuat sambungan antara port 5000 dan port 23, dan kemudian berakhir di port 22?

    Mengapa alasan untuk berpindah port? Bisakah Anda membuat terowongan dengan port 22?

    Artikel yang sangat menarik. Seperti nano, saya menginginkan lebih!

    1.    getafix dijo

      SSH memang menggunakan port 22 secara default (meskipun bisa diubah). Port ini adalah salah satu yang akan digunakan komunikasi aktual antara dua host. Ini adalah salah satu yang Anda harus memastikan bahwa itu terbuka dan tidak ada firewall yang memutusnya. Tetapi bagi pengguna ini benar-benar transparan. Anda bisa melupakannya. Dalam contoh, pengalihan terjadi antara port 5000 dan 23. Hanya dua port tersebut yang perlu Anda khawatirkan. Pengguna akan melihat bahwa semua yang dia kirim ke port 5000 hostnya muncul di 23 host tujuan.
      Jelas, setiap pengguna dapat mengarahkan kembali port yang dianggapnya tepat.

      Terima kasih atas komentar Anda. Ini adalah posting pertama saya dan pendapat Anda akan membantu membuat posting berikutnya lebih baik.

  3.   eliotime3000 dijo

    Bisakah itu juga dilakukan dengan VPS?

  4.   pemburu dijo

    Ok ini kasus saya, PC1 memiliki akses ke server, tetapi PC2 tidak, keduanya terhubung dengan ssh, saya ingin memiliki akses di PC2, tetapi port PC1 mana yang saya alihkan? jika sebenarnya yang saya inginkan adalah menjangkau port server dari PC2 dan paket tersebut memiliki PC1 sebagai IP sumbernya. apakah saya mengerti

    1.    getafix dijo

      Anda membuat diri Anda dimengerti. Dalam hal ini Anda memerlukan PC1 untuk mengarahkan port PC2 ke port 22 server:

      PC2 $ ssh -L 5000: Server: 22 pengguna PC1 @ PC1

      dan, menjaga koneksi ini tetap terbuka, dari terminal lain:

      PC2 $ ssh userServer @ localhost -p 5000

      dan Anda sudah di dalam.

      1.    pemburu dijo

        Akhirnya solusi fungsional !! Terima kasih Getafix, Anda telah memberi saya banyak kemungkinan !!

        1.    getafix dijo

          Saya senang!

  5.   hidup dijo

    Artikel yang bagus. Selamat Datang di DesdeLinux ????

    Dan apa yang harus dilakukan jika 22 diblokir? LOL ..

    1.    getafix dijo

      Terima kasih elav.
      Jika Anda memblokir port 22, mmmm, kami harus mencari alternatif untuk meretas firewall XD

    2.    eliotime3000 dijo

      Dan yang terburuk dari semuanya (hipotetis): diblokir oleh penyedia VPS.

  6.   IGA dijo

    Saya baru saja melakukan ujian beberapa jam yang lalu dengan pertanyaan tentang itu 😛

  7.   Mario dijo

    Saya tidak akan mengatakan bahwa:
    host1 $ ssh -R 5000: localhost: 23 userhost2 @ host2
    itu setara dengan baris perintah lainnya ... yang memiliki -L.
    Karena -R menunjukkan bahwa port yang dibuka untuk koneksi baru berada di sisi jarak jauh, yaitu di sisi server ssh Anda; sementara -L membuka port di sisi Lokal, di sisi klien untuk menerima koneksi baru.

    Terjemahan baris:
    host1 $ ssh -R 5000: localhost: 23 userhost2 @ host2
    Ini akan menjadi seperti ini: Berada di host1, sambungkan ke server ssh (port 22) dari host2 dengan pengguna saya userhost2 dan teruskan koneksi yang dihasilkan pada port jarak jauh 5000 dari host2 ke port 23 di host1 (localhost saya)

    Jika tidak, koreksi saya! 😉

    -

    Di sisi lain ... jika server telah memblokir masuknya koneksi ke port 22, artinya, kami tidak dapat terhubung dari jarak jauh ke server ssh; apa yang bisa dilakukan adalah; bahwa dari server (sysadmin teman di belakang firewall sistem host2 jarak jauh) baris perintah dijalankan:

    host2 $ nohup ssh -fN -R 6000: localhost: 22 userhost1 @ host1

    -f pergi ke latar belakang
    -N tidak menjalankan perintah apa pun pada remote
    nohup mencegah eksekusi perintah terputus saat logout

    host1 $ ssh userhost2 @ localhost -p 6000

    Dengan cara ini, dari host1 kami menghasilkan koneksi ke localhost (host1 yang sama) pada port 6000 yang akan meneruskan koneksi ke port 22 dari sistem jarak jauh host2, di mana kami akan masuk dengan pengguna host2.

    Ini akan memungkinkan (saya tidak mencobanya, tetapi sepertinya berhasil) untuk masuk ke server ssh yang diblokir oleh firewal dengan sedikit bantuan dari dalam! 😀

    Yang terakhir saya baca dari penjelasan yang dibuat di majalah The Geek Stuff
    http://www.thegeekstuff.com/2013/11/reverse-ssh-tunnel/

    Saya sangat menyukai publikasi Anda; Saya sering membacanya!
    Salam.

    1.    getafix dijo

      Kamu benar. Ada kesalahan di artikel. Pengalihan tidak setara. Perintah host1 $ ssh -R 5000: localhost: 23 userhost2 @ host2 melakukan pengalihan terbalik, yaitu mengalihkan port jarak jauh 5000 ke 23 lokal, kebalikan dari perintah dengan -L.
      Terima kasih atas koreksinya.