У нас есть некоторое оборудование, которое мы устанавливаем в местах наших клиентов, что оборудование подключается к нашему серверу ssh и устанавливает обратный туннель ssh, чтобы мы могли получить доступ к нескольким клиентским системам для целей мониторинга.
все работает нормально, пока не произойдет нечистое отключение сеанса SSH.
когда это происходит, на нашем SSH-сервере порты, которые использовались обратным туннелем, застревают в режиме прослушивания и когда наше удаленное оборудование в конечном итоге пытается для автоматического повторного подключения и восстановить свои туннели он терпит неудачу с ошибкой
предупреждение: экспедирование удаленный порт не слушает порт ХХХХ
Я проверил, если была проблема с нашим сервером SSH или клиента, пытаясь чистый отсоединить и, конечно, что освобождает порты просто отлично. Когда я имитирую сбой соединения (например, отключите порт Ethernet клиентского оборудования), у нас есть та же проблема, которую я описал выше.
Что правильный способ справиться с этой ситуацией? Имейте в виду, что это обратные туннели, поэтому все, что происходит, должно быть сделано на сервере SSH. В идеале мне нужен SSH-сервер, чтобы мгновенно осознать, что сессия SSH хостинг туннели вниз и освободить порты он использует. Я думаю, что решение может включать в себя убийство соответствующего процесса SSH, но мне нужно быть осторожным с этой причиной, у нас есть несколько клиентов, подключающихся к одному и тому же ssh-серверу, и я бы не хотел их пинать автономный.
будучи настолько зрелым, я уверен, что SSHD имеет какую-то встроенную функцию для обработки этого, но я просто не могу понять это.
пожалуйста, сообщите, так что я не должен вернуться к администрированию окна ...
FYI: я запускаю это на дистрибутиве на основе Debian.