Почему бы вам просто не позвонить по ssh
? Он будет ждать, пока удаленный хост станет доступен, и через некоторое время истечет время ожидания. В случае ошибки возвращается 255, что означает, что вы можете повторить попытку.
Как предложено в https://stackoverflow.com/a/50055449/15820811, вы можете использовать:
until printf "" 2>>/dev/null >>/dev/tcp/mysshserver.example.org/22; do sleep 1; done
Это пытается записать данные на порт 22 (порт SSH) на mysshserver.example.org
(замените на свой сервер) каждую секунду, пока данные не будут успешно записаны.