Bagaimana mencegah autossh agar tidak macet sesekali?

12

Saya menggunakan autosshuntuk membangun terowongan ssh terbalik tetapi dari waktu ke waktu terowongan berhenti bekerja dan saya perlu membunuh autossh dan mulai lagi.

/etc/cron.d/autossh
@reboot autossh -f -nNT -R 3269:intranet.example.com:3269 public.example.com &

autossh tampaknya tetap dalam keadaan aneh, di mana port yang diteruskan masih terbuka tetapi Anda tidak mendapat respons dari sisi lain. Dengan memulai ulang autossh ini terpecahkan.

Bagaimana saya bisa mencegah masalah ini terjadi?

Sorin
sumber

Jawaban:

6

Gunakan ServerAliveInterval(dengan nilai dalam hitungan detik) membuat ssh klien mengirim paket null (keepalive) melalui saluran terenkripsi setiap kali untuk mendeteksi koneksi yang terputus:

/etc/cron.d/autossh
@reboot autossh -f -nNT -R 3269:intranet.example.com:3269 -o ServerAliveInterval=30 public.example.com &

Anda mungkin juga harus mengatur ClientAliveIntervalpengaturan yang sesuai di server/etc/ssh/sshd_config Anda untuk membuat server menjatuhkan koneksi klien yang mati juga:

# Drop dead client connections after 10 minutes of inactivity
ClientAliveInterval 600
Tyson
sumber