Что дано: есть сервер на Debian 6 х64 (думаю, это несущественно, но пишу для полноты информации). Назовем его main. Он имеет 1 интерфейс с белой сетью. Пусть будет у нас белый IP — 1.2.3.4. И имеется 2 интерфейса с серыми адресами. Пусть они будут 192.168.0.3 и 192.168.10.3.
В каждой из серых подсетей имеются другие сервера (они недоступны из мира), с такой же ОС. На них можно заходить по ssh.
Что нужно: как можно c сервера main самым легким способом запускать на других серверах из серых сетей удаленно скрипты (bash), которые будут содержаться на них же?
Желательно это оформить также в виде bash-скрипта, который лежит на main, чтобы можно было на него залогиниться, и из консоли выполнить, а далее запустятся скрипты уже на каждом из серверов в серых сетях.
С сервера main видно все компьютеры обеих подсетей?
Если да, то в чем проблема-то? Просто выполняем ssh IP код, я так по крону ежечасно подсоединяюсь к серверу и перезапускаю демона, если он сдох (или сервер перезагрузили).
Удаленно можно запустить по ssh команду/скрипт например так ssh user@server command
Аутентификацию на каждом сервере делаете по ключу. Так же можно задать нужный скрипт прямо после авторизации по ключу (если обратились с этим ключем, то сразу запускать скрипт), это более безопасно.
Например, ~/.ssh/authorized_keys на удаленном сервере command="COMMAND OR SCRIPT",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss KEY
saltstack.org — remote execution daemon
вот краткий обзор удалённого выполнения скриптов — docs.saltstack.com/#remote-execution, далее по ссылкам — подробнее.