Перезагрузка роутера на OpenWrt с помощью bat файла

Раздел: Linux
Написано: 25.01.2015
Автор: Antonio

Иногда по ICQ ко мне обращаются читатели моего блога. Вопросы у всех различные: у кого-то по администрированию, кто-то интересуется конкурсами и рынком, инвестированием, ипотекой, как сделать загранпаспорт и много другое. Как правило, я стараюсь дать какой-то совет для решения вопроса.

Не так давно был задан вопрос — человек прочитал мою статью Автоматическая перезагрузка роутера на OpenWrt и захотел перезагружать роутер не кроном, а bat файлом, который бы запускала программа из Windows.

OpenWrt logo


Такой задачи у меня не возникало, я спросил что да как и начал думать варианты.

OpenWrt штука гибкая — это удобный Linux с web-интерфейсом, поэтому вариантов как перезагружать из Windows есть много.

Мне пришла идея — необходимо подключиться к роутеру, например, по SSH и выполнить команду перезагрузки (reboot).

Дальше дело техники, начал пробовать.

Мой любимый клиент SSH, как и у многих это Putty. Пробуем его, варианты есть, но оказывается для этих целей лучше подходит Plink, т.е. программа plink.exe из пакета Putty.

Plink позволяет отправлять на роутер команду буквально написав одну строку в bat или cmd файле.

Сейчас покажу пример использования plink.exe

plink -ssh -batch 10.0.0.1 -l root -pw password reboot

где
-ssh — протокол
10.0.0.1 — это IP роутера на OpenWRT или любого другого на Linux с поддержкой SSH и открытым портом по-умолчанию
-l root — имя пользователя для подключения (лучше рут или с правами root чтобы выполнилась перезагрузка)
-pw password — указываем пароль для подключения

Говорят хранить пароль в открытом виде не кошерно, но в случае с роутером, думаю ничего страшного, однаков вы можете попробовать использовать подключение с авторизацие через ключи — Putty работает таким образом без вопросов (может и работает Plink, я не пробовал).

Вот синтаксис для подключения через Putty.

putty -m reboot.txt -P 22 10.0.0.1 -l root -pw password

параметры имеют очень похожие значения, как и в случае с plink, нужно только создать файл с указанным названием (reboot.txt) и написать там reboot — это и будет команда которую передаст путти при подключении к серверу.

При первом подключении необходимо нажать Ок при запросе клиента SSH, дальше уже подключения будут без вопросов.

Таким образом мы получили 2 варианта подключения к серверу и отправки команды на перезагрузку. Дальшее создаем cmd файл и ложим его например на рабочий стол или в планировщике задач создаем задачу на перезагрузку.

Так же можно сделать файл пингования какого-нибудь сайта и если доступ к нему пропадает отправлять роутер в перезагрузку, в общем полет фантазии безграничен :-), хотя конечно все эти вещи лучше делать из внутренностей системы самого роутера, но тут уже на любителя, я всего лишь предложил варианты.

Кстати, скачать Plink можно там где и Putty или с моего сайта — ссылка plink.exe.

Фразы: putty выполнить команду на сервере, перезагрузка Linux из Windows, управление роутером OpenWrt из командной строки Windows

Поделиться с друзьями или в соц.сетях (спасибо)
Ещё похожие заметки:

Написать

Копирование информации с сайта возможно только с указанием прямой ссылки - https://nemcd.com