Я делаю постоянную переадресацию портов через SSH. Это в основном
while true; do
ssh <somewhere> \
-R <dst-port>:localhost:<src-port> \
-N -n -o ExitOnForwardFailure=yes
sleep 10
done
Однако это не очень надежно. Иногда порт вообще не переадресовывается (я не уверен, правильно ли установлено соединение, но я вижу процесс на клиенте, и он работает уже в течение нескольких часов), иногда соединение наверняка больше не работает (потому что сетевой интерфейс отключен), но тайм-аут занимает очень много времени (иногда до 30-60 минут).
Как я могу сделать это более надежным? Я хочу иметь время ожидания, может быть, минуту.
Я только что нашел этот очень связанный / похожий вопрос. Тем не менее, первый ответ указывает, что ExitOnForwardFailure
должен решить эту проблему, но у меня уже есть это, и это не так (сейчас я вижу запущенный процесс ssh
с этой опцией, но порт не пересылается).