GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana agar terowongan SSH tetap terbuka?

Sepertinya Anda membutuhkan autossh. Ini akan memantau terowongan ssh dan memulai ulang sesuai kebutuhan. Kami telah menggunakannya selama beberapa tahun dan tampaknya bekerja dengan baik.

autossh -M 20000 -f -N your_public_server -R 1234:localhost:22 -C

Detail selengkapnya tentang parameter -M di sini


Semua firewall stateful melupakan koneksi setelah tidak melihat paket untuk koneksi itu selama beberapa waktu (untuk mencegah tabel negara menjadi penuh dengan koneksi di mana kedua ujungnya mati tanpa menutup koneksi). Sebagian besar implementasi TCP akan mengirim paket keepalive setelah waktu yang lama tanpa mendengar dari pihak lain (2 jam adalah nilai umum). Namun, jika ada firewall stateful yang melupakan koneksi sebelum paket keepalive dapat dikirim, koneksi yang berumur panjang tetapi tidak aktif akan mati.

Jika demikian, solusinya adalah mencegah koneksi menjadi tidak aktif. OpenSSH memiliki opsi yang disebut ServerAliveInterval yang dapat digunakan untuk mencegah koneksi terlalu lama menganggur (sebagai bonus, ini akan mendeteksi kapan peer mati lebih cepat meskipun koneksi menganggur).


Saya telah menggunakan skrip Bash berikut untuk terus memunculkan terowongan ssh baru ketika yang sebelumnya mati. Menggunakan skrip berguna saat Anda tidak ingin atau tidak dapat menginstal paket tambahan atau menggunakan kompiler.

while true
do
  ssh <ssh_options> [[email protected]]hostname
  sleep 15
done

Perhatikan bahwa ini memerlukan file kunci untuk membuat koneksi secara otomatis tetapi demikian juga halnya dengan autossh.


Linux
  1. Bagaimana cara meningkatkan batas waktu Koneksi SSH

  2. Bagaimana cara memeriksa kecepatan koneksi ssh Anda

  3. Bagaimana cara mengakhiri koneksi SSH yang tidak responsif di linux?

  1. Bagaimana menjaga sesi SSH tetap hidup

  2. Bagaimana saya bisa menyalurkan semua lalu lintas jaringan saya melalui SSH?

  3. Bagaimana cara keluar dari koneksi SSH?

  1. Bagaimana Mengkonfigurasi Font Pada Koneksi X Jarak Jauh (xdmcp Vs. Ssh)?

  2. Bagaimana cara mengatur terowongan ssh untuk meneruskan ssh?

  3. Koneksi SSH melalui Terowongan SSH Terbalik (Remote).