Недавно я изменил свой домашний маршрутизатор и широкополосный доступ (на BT Infinity) и заметил, что мой SSH-сервер стал довольно ненадежным. Конечно, я настроил пересылку SSH на правильный хост на новом маршрутизаторе, и это должно быть правдой, поскольку иногда я могу подключиться к нему удаленно, но иногда нет.
У меня есть dedi, и я надеялся создать скрипт, который время от времени «пингует» SSH-сервер, чтобы проверить, работает ли он. Есть ли способ вызвать команду SSH, чтобы она просто рукопожатие с сервером и не делает больше, и возвращает полезный код состояния, чтобы сказать, что сервер работает или не работает? Просто, чтобы я мог добавить его в скрипт, как это:
#!/bin/bash
LOG_FILE="$HOME/ssh.log"
while [ true ]; do
testSSH
if [ $? -ne 0 ]; then
echo "`date +%y%m%d-%H%M%S` server down" >> $LOG_FILE
fi
sleep 60
done
или, альтернативно, было бы легко сделать такую программу?
РЕДАКТИРОВАТЬ: кроме того, если кто-то заинтересован или знает об этом, я изменил мои настройки переадресации портов на пользовательский IP-адрес вместо MAC-адреса (по умолчанию), просто incase, с хостом SSH, имеющим Статический IP. Не то чтобы я вообще использовал спуфинг MAC, но только потому, что слышал, что он «глючит» на домашнем хабе. Когда я смотрю на страницу подключенных устройств, я не вижу там своего компьютера. Между моим компьютером и маршрутизатором есть переключатели, но это не должно иметь никакого значения, верно?