Помимо рисков для безопасности, мне нужен временный способ перезагрузки через сеть, не полагаясь на SSH. У моего SSH-сервера есть некоторые другие проблемы, для решения которых мне нужно больше времени, поэтому нужен способ обойти ssh для перезагрузки.

Как мне прослушать постоянное соединение на сервере, используя таблицу cron (это должно быть для root я полагаю) и какую команду мне следует выполнить на клиенте? (У меня есть грубая идея, но я не знаю все варианты для этого конкретного случая использования)

1 ответ1

1

Вы не будете использовать cron для этого - вы можете использовать inetd (в зависимости от вашего конкретного дистрибутива)

Мне не нравится это решение, но, возможно, вы могли бы сделать что-то вроде добавления

nc -l 2222 | /bin/bash -e

В /etc/rc.local, который будет молча ждать порта 2222 и затем выдавать оболочку. После разрешения соответствующего хоста на брандмауэре вы можете подключиться к нему и выполнить команду перезагрузки в режиме без вывода сообщений (результат не будет выводиться на терминал). ЗАМЕТЬТЕ, ЧТО Я НЕ ПОЛНОСТЬЮ ИСПЫТАЛ ЭТО.

Более простым способом решения этой проблемы может быть просто установить "telnetd" для вашего дистрибутива и использовать старый старый telnet для подключения к вашей системе - так мы делали это до SSH (... теперь сойдите с моего газона!)

Другой способ решения проблемы - использование crond - настроить что-то вроде FTPD. Затем напишите скрипт, который запускается каждую минуту (или что-то еще) из cron, чтобы проверить наличие этого файла и перезагрузиться, если он существует. Таким образом, вы также можете получить некоторую защиту, (а) полагаясь на действительное имя пользователя / пароль для FTP и имя файла. Это все еще не зашифрованный сеанс, хотя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .