Есть мнение, что в 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; } }
Попробуй так Код: :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; } }
Циклы и все остальное работает. Не выполняется строчка :system ssh address=$IPNAS user=user; Ключи добавлены. Эта же команда работает в терминале. Выполнение скрипта останавливается на данной команде, т.е. например если после нее вписать команду подачи сигнала, то она не выполнится.
Это удивительно! Читайте https://spw.ru/forum/threads/problema-s-vypolneniem-skripta-na-udalennom-mikrotike-po-ssh.818/