GNU/Linux >> Belajar Linux >  >> Linux

ssh melalui router tanpa port forwarding

Apa yang ingin Anda lakukan adalah ssh DARI "server linux" Anda KE sesuatu di luar, seperti "my_other_server" atau sesuatu yang lain yang bisa dijangkau oleh kedua server.

Anda akan menggunakan penerusan port jarak jauh ssh.
[[email protected]_server]$ ssh -R8022:localhost:22 my_other_server.com
Penjelasan:Hubungkan ke my_other_server dan buka port 8022 di sana yang akan diteruskan kembali ke saya di port 22.

Dari my_other_server.com Anda akan dapat melakukan ssh ke localhost pada port 8022, dan lalu lintas Anda diteruskan ke piggybacking linux_server di linux_server -> my_other_server tunnel[[email protected]_server]$ ssh -p8022 localhost
Penjelasan:Sambungkan ke saya sendiri di port 8022 yang diteruskan ke linux_server

Jika Anda memiliki masalah dengan putusnya tunnel linux_server -> my_other_server awal, Anda dapat membuat skrip agar tetap terbuka, sesuaikan pengaturan keepalive, atau gunakan autossh.


Jawaban ini didasarkan pada yang diterima, tetapi menambahkan detail yang memungkinkan saya menyelesaikannya. Saya minta maaf atas penjelasan pejalan kaki, karena ini sama sekali bukan keahlian saya.

Misalkan Anda memiliki dua komputer, A dan B . Anda ingin ssh dari A ke B , dan Anda tidak dapat melakukan penerusan port apa pun di router yang terhubung dengannya.

Seperti yang dinyatakan oleh jawaban yang diterima, Anda memerlukan server S untuk melakukannya:di komputer B , Anda akan mengizinkan ssh koneksi yang berasal dari S; dan dari komputer A , Anda akan mengakses terowongan itu di S untuk mencapai B .

Tapi bagaimana Anda mendapatkan server itu S ? Saya menemukan serveo (tautan:https://serveo.net/). Penggunaannya sangat sederhana. Anda tidak perlu menginstal apapun atau mendaftar dan gratis. Menurut situs web, langkah-langkah yang harus diikuti adalah:

  1. Pikirkan alias untuk komputer B . Misalnya, computer_B_alias .

  2. Di komputer B , jalankan ssh -R computer_B_alias:22:localhost:22 serveo.net .

  3. Sekarang, Anda dapat mengakses komputer B dari komputer A dengan mengeksekusi berikut ini di komputer A :ssh -J serveo.net [email protected]_B_alias , di mana Anda harus mengganti user dengan nama pengguna di komputer B .

P.S.:Tentu saja, Anda menjadikan poin 2 sebagai tugas otomatis saat memulai komputer Anda B .

P.S.S.:Sebelum Anda mencoba ini, pastikan bahwa ssh diinstal di kedua komputer. Untuk Ubuntu, sudo apt-get install ssh akan melakukan pekerjaan itu.


Anda dapat menggunakan semacam VPN untuk membuatnya berfungsi, tetapi Anda harus memiliki server yang dapat diakses oleh server yang tidak dapat diakses. Kemudian Anda dapat mengatur OpenVPN di server, PC Anda, dan server yang di-firewall, aktifkan client-to-client , dan selesai. http://openvpn.net/howto.html


Linux
  1. Cara Mengubah Port SSH Di Linux

  2. Cara Mengatur Tunneling SSH

  3. Linux – Penerusan X11 Melalui Ssh?

  1. Ssh – Scp Melalui Banyak Host?

  2. Ubah port SSH di CWP

  3. SSH tanpa sumber .bashrc

  1. Tidak Dapat Menjalankan Aplikasi X Melalui SSH di Linux

  2. Penerusan port ssh mesin komputasi google

  3. Terowongan SSH HTTPS