Я использую ssh
для поддержки постоянного туннеля до reliable.host
от ненадежного за брандмауэром и получения уведомления о соединении.
ssh -R 1234:localhost:22 user@reliable.host ./on-connect.sh
on-connect.sh
#!/bin/bash
curl ... # Notify me of tunnel opened
sleep 1d
То, что я не могу понять, как это сделать, это получить curl ...
уведомление о разъединении / разрыве соединения.
Я пробовал различные bash trap
s и sleep
loop.
Обратите внимание, я не могу запустить уведомление curl ...
на клиенте, который запускает ssh
, потому что у него нет надежного соединения, и я ожидаю, что соединение будет разорвано, когдаssh
обрывается соединение.
В худшем случае я могу выполнить постоянную проверку reliable.host
, которая при закрытии туннеля отправляет уведомление. Я просто чувствую, что мы можем добиться большего.