Добрый день. На винде за NAT’ом в цикле запущен plink
:a
plink "STORED_NAME" -l user1 -v -R 1234:127.0.0.1:1234 -no-antispoof -4 -N
goto a
Задумано так что при обрыве связи он перезапускается в бесконечном цикле.
На сервере открывается порт 127.0.0.1:1234, который через SSH туннель перенаправлен на порт 1234 открытый на машине с виндой. К нему на сервере периодически подключается программа.
netstat -lnp | grep ssh
показывает наличие открытого порта 1234 за процессом [PID процесса]/sshd: user1 запущенным от имени user1. У user1 шелл установлен в /bin/true чтобы не было возможности исполнять никакие команды.
Проблема: соединение иногда обрывается, видимо из-за длительной неактивности, но при этом на сервере процесс с открытым портом запущен, на клиенте plink также запущен, но подключиться невозможно. Как сделать так чтобы при обрыве связи падал либо процесс на клиенте, либо процесс на сервере, чтобы инициировалось переподключение?