Kami memiliki beberapa perangkat keras yang kami pasang di lokasi pelanggan kami, perangkat keras itu terhubung ke server ssh kami dan membuat terowongan ssh terbalik sehingga kami dapat memperoleh akses ke beberapa sistem klien untuk keperluan pemantauan.
Semuanya berfungsi dengan baik sampai ada pemutusan yang tidak bersih dari sesi SSH.
Ketika itu terjadi, pada server SSH kami port yang digunakan oleh terowongan terbalik tetap terjebak dalam mode MENDENGARKAN dan ketika perangkat keras jarak jauh kami akhirnya mencoba untuk menyambung kembali secara otomatis dan membangun kembali terowongannya, ia gagal dengan kesalahan.
Peringatan: penerusan port jarak jauh gagal untuk mendengarkan port XXXX
Saya menguji apakah ada masalah dengan server atau klien SSH kami dengan mencoba putuskan sambungan bersih dan tentu saja yang melepaskan port dengan baik. Ketika saya mensimulasikan kegagalan koneksi (lepaskan port Ethernet dari perangkat keras klien misalnya) maka kita memiliki masalah yang sama seperti yang saya jelaskan di atas.
Apa cara yang tepat untuk menangani situasi ini? Perlu diingat ini adalah terowongan yang terbalik sehingga apa pun yang terjadi perlu dilakukan pada server SSH. Idealnya saya memerlukan server ssh untuk segera menyadari bahwa sesi SSH yang menampung terowongan tidak aktif dan melepaskan port yang digunakannya. Saya kira solusinya bisa melibatkan membunuh proses SSH yang bersangkutan, tetapi saya harus berhati-hati dengan itu karena kami memiliki beberapa klien yang terhubung ke server ssh yang sama dan saya tidak ingin menendang mereka offline.
Menjadi sangat dewasa, saya yakin SSHD memiliki semacam fitur bawaan untuk menangani ini, tetapi saya tidak bisa mengetahuinya.
Mohon saran agar saya tidak harus kembali ke mengelola kotak Windows ...
FYI: Saya menjalankan ini pada distro berbasis Debian.