Вы не будете использовать cron для этого - вы можете использовать inetd (в зависимости от вашего конкретного дистрибутива)
Мне не нравится это решение, но, возможно, вы могли бы сделать что-то вроде добавления
nc -l 2222 | /bin/bash -e
В /etc/rc.local, который будет молча ждать порта 2222 и затем выдавать оболочку. После разрешения соответствующего хоста на брандмауэре вы можете подключиться к нему и выполнить команду перезагрузки в режиме без вывода сообщений (результат не будет выводиться на терминал). ЗАМЕТЬТЕ, ЧТО Я НЕ ПОЛНОСТЬЮ ИСПЫТАЛ ЭТО.
Более простым способом решения этой проблемы может быть просто установить "telnetd" для вашего дистрибутива и использовать старый старый telnet для подключения к вашей системе - так мы делали это до SSH (... теперь сойдите с моего газона!)
Другой способ решения проблемы - использование crond - настроить что-то вроде FTPD. Затем напишите скрипт, который запускается каждую минуту (или что-то еще) из cron, чтобы проверить наличие этого файла и перезагрузиться, если он существует. Таким образом, вы также можете получить некоторую защиту, (а) полагаясь на действительное имя пользователя / пароль для FTP и имя файла. Это все еще не зашифрованный сеанс, хотя.