написание скрипта для проверки того, включено ли ssh-туннелирование

Предикат -pruneсокращает каталоги -, в этом случае -nameбудет соответствовать начальному каталогу .и, следовательно, удаляет все дерево.

То, что вы хотите сделать, это просто отменить совпадение -name:

find. -maxdepth 1 ! -name '.*'

или

find. -maxdepth 1 -not -name '.*'
0
26.10.2021, 02:49
1 ответ

Для этого можно использовать autossh. Цитирование справочной страницы Ubuntu:

 autossh is a program to start a copy of ssh and monitor it, restarting it as necessary
 should it die or stop passing traffic.

 The original idea and the mechanism were from rstunnel (Reliable SSH Tunnel). With version
 1.2 of autossh the method changed: autossh uses ssh to construct a loop of ssh forwardings
 (one from local to remote, one from remote to local), and then sends test data that it
 expects to get back. (The idea is thanks to Terrence Martin.)

Поэтому необходимо указать дополнительный порт мониторинга autossh. Выберите какой-нибудь порт N, чтобы и N, и N+1 были свободны, и используйте его с опцией -M, например,

autossh -M 20000 -N -L 1105:remote.server:25 office-machine

Вы также можете отключить мониторинг с помощью -M 0. В системах на базе Debian -autosshможет автоматически выбирать свободный порт для мониторинга.


Если ваше VPN-подключение обрывается, autosshдолжен определить через порт мониторинга, что SSH-подключение больше не работает, а затем попытаться перезапустить его. После этого:

Continued failures
 If the ssh connection fails and attempts to restart it fail in quick succession, autossh
 will start delaying its attempts to restart, gradually backing farther and farther off up to
 a maximum interval of the autossh poll time (usually 10 minutes).  autossh can be "prodded"
 to retry by signalling it, perhaps with SIGHUP ("kill -HUP").
3
26.10.2021, 05:05

Теги

Похожие вопросы