Проблема с выполнением скрипта на удаленном микротике по ssh

Тема в разделе "Скрипты", создана пользователем vsslava, 17 авг 2017.

  1. vsslava

    vsslava Новый участник

    Есть прблема: Есть 2 микротика, на локальном микротике, ключи ssh стоят, я запускаю скрипт из терминала для удаленного выполнения на другом микротике /system ssh 192.168.4.1 "/ip route disable [find comment=route01]", если тоже самое делаю через интерфейс winbox system - script через кнопку run то тишина. Если хотя бы из терминала набрать /system script run script1 все ок. Где засада?
     
  2. так в чем проблема, удаленно не исполняется скрипт ?
     
  3. vsslava

    vsslava Новый участник

    Если внимательно прочесть мое сообщение, то он не выполняется только из интерфейса scripts или netwatch,а из терминала выполняется
     
  4. Про netwatch вообще было не написано. Вам так принципиально что бы скрипт исполнялся из Winbox system script ? Главное что он исполняется из командной строки... У меня тоже не исполнялись все скрипты из Winbox, я как понимаю есть некие ограничения...
     
  5. vsslava

    vsslava Новый участник

    Уважаемый Денис, я рекомендую перестать флудить, если есть,что написать по сути проблемы, то ок, но пока от Вас только без толковый флуд
     
  6. Илья Князев

    Илья Князев Администратор Команда форума

    Права на скрипт розданы?
    И по идее в ssh делается
    /system ssh address= command=
     
  7. vsslava

    vsslava Новый участник

    Права есть, через консоль можно запустить и будет работать а вот кнопкой run нет
     
  8. Илья Князев

    Илья Князев Администратор Команда форума

    Посмотрите, возможно где-то лишний (или отсутсвует) бекслеш. \
     
  9. MAH

    MAH Новый участник

    Пытался реализовать следующую схему: есть 2 микротика (пусть 1 центральный на котором usb интерфейс задействован флэшкой (подключение физически usb модема можно реализовать через usb разветвитель, но не стал, в связи "возможными" сбоями), на 2 микротик подключил usb модем).

    Реализация схемы следующая: на 2 микротик отправляю смс которая запускает скрипт включения на 1 микротике заданиея nat (для удаленного подключения по rdp).

    На сегодняшний день возможность выполнения скрипта в самом микротике через ssh не реализована (точнее если запустить на микротике терминал, зайти по ssh и выполнить скрипт, то он сработает, а вот если в самом скрипте прописать задание то выполняться оно не будет).

    Реализовал выход из данной ситуации следующий: на 2-х микротиках создал сетевые адреса подсетей отличающихся от основной, что бы не занимать ip адреса локальной сети (пусть на 1 микротике 192.168.150.5, на втором 192.168.150.6). На центральном микротике создал задание netwatch мониторящее доступность ip адреса 192.168.150.6 и когда после отправки смс на 2 микротик скриптом включаю адрес 192.168.150.6 на центральном микротике включается задание в nat.

    Если микротики удаленные, то можно реализовать данную схему мониторя ovpn подключения.
     
  10. bumble-bee007

    bumble-bee007 Новый участник

    Всем доброго времени суток.
    Столкнулся с такой же проблемой) Вы нашли решение?
     
  11. bumble-bee007

    bumble-bee007 Новый участник

    Только у меня задача такая: есть микротик №1 с юсб модемом. На другом №2 микротике запустил netwatch, чтобы он пинговал внутренний адрес и в случаи его появления отправлял смс на мой номер с mikrotik №1. Скрипт выглядит так:
    /system ssh user=Andrey address=192.168.88.10 command="/tool sms send message=Trofim_up phone-number=7909*******"
    При копировании и вставки его в терминал все отлично - смс отправляется
    А когда пытаюсь запустить его через нетвоч (или нажимаю run script), то ничего не происходит..
     
  12. amv

    amv Участник

    Почитайте предыдущюю тему "Перезагрузка через скрипт или ansible" очень все схоже.
     
  13. Cheredov

    Cheredov Новый участник

    Честно говоря, удивлен неосведомленностью сообщества об этой проблеме. Читал эту ветку пару лет назад и, не найдя решения, сделал с помощью третьего хоста на линуксе. Да, Денис прав, это ограничения routeros. До 6.45.1 невозможно выполнить скрипт, который выполняет через ssh удаленные команды на другом микротике. Когда скрипт запущен в консоли - все работает, но когда скрипт запущен в винбоксе или шедулером или другим скрипом - нет. Конечно второе и третье принципиально важно.

    В 6.45.1 сделали: ssh - added new "ssh-exec" command for non-interactive command execution;
    https://wiki.mikrotik.com/wiki/Manual:System/SSH_client#SSH-exec

    Это решает данную проблему.
     
    Zima84 нравится это.
  14. Zima84

    Zima84 Новый участник

    спасибо большое, команда system ssh не решала задачу ваш ответ помог!!!!