Page 1 of 1

Вызов SSH через system

Posted: 28 Jul 2019 23:14
by nvhleb
Не работает :) . Есть команда, выполняющаяся через терминал:
ssh 10.10.10.1 -l admin -i /root/key -o StrictHostKeyChecking=no ":global TVInKitchenAllowInternet true;"

При ее вызове из скрипта

debugPrint("1");
var result = system("ssh", '10.10.10.1 -l admin -i /root/key -o StrictHostKeyChecking=no ":global TVInKitchenAllowInternet true;"');
debugPrint("2: " + result);

Возвращается "2: 65280," - код FF00 (ошибка SSH). ssh в .syscommands добавлен.

3 вопроса:
1. Что сделано не так?
2. Верно ли, что system выполняется из-под root?
3. Как получить полный вывод от выполнения команды?

Re: Вызов SSH через system

Posted: 28 Jul 2019 23:45
by nvhleb
Работает через прослойку в виде python-скрипта. Не круто. 3 вопроса актуальны :) .

Re: Вызов SSH через system

Posted: 29 Jul 2019 13:29
by PoltoS
1. Вы зачем-то разделили команду и аргументы. Не надо.
2. Если Z-Way из под рута, то да
3. Посмотрите доку. Массив из двух элементов: код возврата и вывод

Re: Вызов SSH через system

Posted: 29 Jul 2019 13:48
by nvhleb
Команда и аргумены разделены для того, чтобы не добавлять все возможные варианты команды в .syscommands. Работа с pyton-скриптом позволяет передать дополнительные аргументы. Почему это не работает с таким же приложением, получающим аргументы в командной строке (SSH)? Попытка передачи всех аргументов в отдельности так же не приводит к результатам.

Если можно, второй вопрос: в Z-Way Developers Documentation 2.0 ничего про возвращаемые значения команды system нет. Это ошибка и такая информация там есть?

Re: Вызов SSH через system

Posted: 01 Aug 2019 00:03
by PoltoS
в Z-Way Developers Documentation 2.0 ничего про возвращаемые значения команды system нет. Это ошибка и такая информация там есть?
Действительно. Поправим.

Но параметры объедините в одну строку.