Как отправить команду между двумя Микротиками

Описание каждой версии, обсуждение особенностей и недостатков
Ответить
Aleksey.aleksey
Сообщения: 36
Зарегистрирован: 03 сен 2018, 11:39

Ребята, доброго времени суток!
В общем ситуация такая, нужно отправить команду на выполнение с одного устройства на другое
Оба устройства находятся в одной локальной сети
Подскажите пожалуйста как это осуществить, буду очень признателен :-):


KARaS'b
Сообщения: 1199
Зарегистрирован: 29 сен 2011, 09:16

tools > ssh/telnet


Aleksey.aleksey
Сообщения: 36
Зарегистрирован: 03 сен 2018, 11:39

KARaS'b писал(а): 21 сен 2019, 10:42 tools > ssh/telnet
Сейчас попробовал законектился - всё отлично (Спасибо Вам за подсказку)
А не могли бы вы подсказать мне, как отправить команду на удаленный микротик по средствам telnet (в одной локальной сети находятся они, если это что - то меняет)),)
я так понимаю нужна авторизация, а следом уже сама команда
В общем мне что нужно!
Отправить команду на другой микротик при определенном условии
пропала к примеру связь, выполняется команда для другого микротика по средствам telnet
Можно ли сделать выполнение через scripts ?


KARaS'b
Сообщения: 1199
Зарегистрирован: 29 сен 2011, 09:16

Скриптом нет. Производитель в целях безопасности исключил возможность автоматических действий по ssh и telnet (вы не можете создать скрипт, шедулер и т.д. который автоматически будет подключаться и выполнять какой-то сценарий), можно только руками. Но никто не запрещает вам что-то выполнять например посредством скрипта с какой-то рабочей станции\сервера или прочего устройства в котором имеется такой функционал.
З.Ы. Для всех кто наткнется на эту тему и тс тоже - пардон, не tools, а system > ssh/telnet.


Aleksey.aleksey
Сообщения: 36
Зарегистрирован: 03 сен 2018, 11:39

KARaS'b писал(а): 21 сен 2019, 13:23 Скриптом нет. Производитель в целях безопасности исключил возможность автоматических действий по ssh и telnet (вы не можете создать скрипт, шедулер и т.д. который автоматически будет подключаться и выполнять какой-то сценарий), можно только руками. Но никто не запрещает вам что-то выполнять например посредством скрипта с какой-то рабочей станции\сервера или прочего устройства в котором имеется такой функционал.
З.Ы. Для всех кто наткнется на эту тему и тс тоже - пардон, не tools, а system > ssh/telnet.
Эх, в общем без костылей никак, жаааль, надеялся найти решение не прибегая к третьим "лицам"
Спасибо за ответ :-):


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Если речь идет об отправке команды между двумя микротиками, то почему нельзя то ? Кто отменил скрипт auto.rsc, который можно фетчем заслать с одного микротика на другой и он там прекрасно выполнится.

Вот Вам держите:
На Микротике 2 должен быть настроен tuser с паролем tpassword и разрешен FTP по порту 21 (можете выбрать свой)
В переменные скрипта забейте те же свой логин и пароль
Создайте script, который хотите передать. Положите его в /files, с именем transfer.txt (или своё имя укажите в $ScriptName, но расширение должно быть .txt)
Скрипт ниже возьмёт его преобразует в transfer.auto.rsc и положит на Микротик по адресу transferIP.
Как только он там появится Рос Микротика сама обнаружит его и выполнит.

:local transferIP "192.168.88.1"
:local transferPort "21"
:local tuser "login"
:local tpassword "password"

:local ScriptName "transfer";

:local Sscript;
:set Sscript ("\n". "# script_"."$ScriptName"." $[/system clock get date]". " $[/system clock get time]". "\n"."\r"."\n"."\r"."\n"."$[/system script get [/system script find name="$ScriptName"] source]");
# :log info $Sscript;
:delay 2s;
/file print file=("script_"."$ScriptName");
:delay 2s;
:set ScriptName ("script_"."$ScriptName".".txt");
/file set $ScriptName contents="$Sscript";
:delay 2s;
:log warning ("Transfer autorsс_script"."$ScriptName");
:delay 5s; :
:log warning "Start transferring ...";
:do { /tool fetch mode=ftp upload=yes address=$transferIP port=$transferPort user=$tuser password=$tpassword ascii=yes src-path=$ScriptName dst-path=transfer.auto.rsc;
:log warning "Transferring and executed OK"; delay 2s; /file remove $ScriptName; delay 1s;} on-error={:log error "transfer ERROR"}


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Ответить