ssh в скрипте на mikrotik

Тема в разделе "Скрипты", создана пользователем DrHaos, 5 фев 2018.

  1. DrHaos

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

    Не выполняются команды ssh в скрипте, через терминал выполняются. В чем может быть проблема?
     
  2. Мышаня

    Мышаня Участник

    в синтаксисе, например
     
  3. amv

    amv Участник

    Экстрасенсы в отпуске =) скрипт приложи посмотрим.
     
  4. DrHaos

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

    Есть мнение, что в mikrotik заблокирована возможность использования ssh в скриптах.

    :local MACMSI XX:XX:XX:XX:XX:XX;
    :local MACLG YY:YY:YY:YY:YY:YY;
    :local MACHTC ZZ:Zz:ZZ:ZZ:ZZ:ZZ;
    :local MACNAS AA:AA:AA:AA:AA:AA;
    :local IPNAS 192.168.88.2;



    :local time [/system clock get time];
    :local hour [: pick [/system clock get time] 0 2];

    :local MACMSIDETECT [interface wireless registration-table find mac-address=$MACMSI];
    :local MACLGDETECT [interface wireless registration-table find mac-address=$MACLG];
    :local MACHTCDETECT [interface wireless registration-table find mac-address=$MACHTC];
    :local MACNASDETECT [interface wireless registration-table find mac-address=$MACNAS];

    :if (([:len $MACMSIDETECT]>0) or ([:len $MACLGDETECT]>0) or ([:len $MACHTCDETECT]>0)) do={
    foreach i in [/ip dhcp-server lease find address=$IPNAS status=waiting] do={
    :tool wol mac=$MACNAS interface=bridge;
    }
    }

    :if (([:len $MACLGDETECT]=0) and ([:len $MACHTCDETECT]=0)) do={
    foreach i in [/ip dhcp-server lease find address=$IPNAS status=bound] do={
    :system ssh address=$IPNAS user=user;
    }
    }
     
    Последнее редактирование: 6 фев 2018
  5. amv

    amv Участник

    Попробуй так

    Код:
    :local MACMSI XX:XX:XX:XX:XX:XX;
    :local MACLG YY:YY:YY:YY:YY:YY;
    :local MACHTC ZZ:Zz:ZZ:ZZ:ZZ:ZZ;
    :local MACNAS AA:AA:AA:AA:AA:AA;
    :local IPNAS 192.168.88.2;
    
    
    
    :local time [/system clock get time];
    :local hour [: pick [/system clock get time] 0 2];
    
    :local MACMSIDETECT [interface wireless registration-table find mac-address=$MACMSI];
    :local MACLGDETECT [interface wireless registration-table find mac-address=$MACLG];
    :local MACHTCDETECT [interface wireless registration-table find mac-address=$MACHTC];
    :local MACNASDETECT [interface wireless registration-table find mac-address=$MACNAS];
    
    :if (([:len $MACMSIDETECT]>0) or ([:len $MACLGDETECT]>0) or ([:len $MACHTCDETECT]>0)) do={
    foreach i in=[/ip dhcp-server lease find address=$IPNAS status=waiting] do={
    :tool wol mac=$MACNAS interface=bridge;
    }
    }
    
    :if (([:len $MACLGDETECT]=0) and ([:len $MACHTCDETECT]=0)) do={
    foreach i in=[/ip dhcp-server lease find address=$IPNAS status=bound] do={
    :system ssh address=$IPNAS user=user;
    }
    }
    
     
  6. DrHaos

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

    Циклы и все остальное работает. Не выполняется строчка
    :system ssh address=$IPNAS user=user;
    Ключи добавлены. Эта же команда работает в терминале. Выполнение скрипта останавливается на данной команде, т.е. например если после нее вписать команду подачи сигнала, то она не выполнится.
     
  7. amv

    amv Участник

    у меня Все нормально отрабатывает.
     
  8. DrHaos

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

    может из за версии прошивки у мен я 6.41 до этого была 6.40
     
  9. Cheredov

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