Перейти к основному содержимому

Выполнить команду

Выполняет указанную команду

Функция ВыполнитьКоманду(Знач Соединение, Знач Команда) Экспорт

ПараметрCLI опцияТипОбяз.Назначение
Соединение--connПроизвольныйСуществующее соединение или конфигурация соединения
Команда--commСтрокаТекст команды

Возвращаемое значение: Соответствие Из КлючИЗначение - Результат обработки


Пример использования для 1С:Предприятие/OneScript
    Хост = "172.33.0.13";
Порт = "2222";

ИспользоватьПрокси = Истина;
НастройкиПрокси = Неопределено;
ВидАвторизации = "По логину и паролю";

Если ВидАвторизации = "По логину и паролю" Тогда

Логин = "bayselonarrend";
Пароль = "12we...";

НастройкиSSH = OPI_SSH.ПолучитьНастройкиЛогинПароль(Хост, Порт, Логин, Пароль);

ИначеЕсли ВидАвторизации = "По ключу" Тогда

Логин = "bayselonarrend";
ПриватныйКлюч = "./ssh_key";
ПубличныйКлюч = "./ssh_key.pub";

НастройкиSSH = OPI_SSH.ПолучитьНастройкиПриватныйКлюч(Хост, Порт, Логин, ПриватныйКлюч, ПубличныйКлюч);

Иначе

Логин = "bayselonarrend";
НастройкиSSH = OPI_SSH.ПолучитьНастройкиЧерезАгента(Хост, Порт, Логин);

КонецЕсли;

Если ИспользоватьПрокси Тогда

ТипПрокси = "http"; // http, socks5, socks4

АдресПрокси = "127.0.0.1";
ПортПрокси = "8071";
ЛогинПрокси = "proxyuser";
ПарольПрокси = "12we...";

НастройкиПрокси = OPI_SSH.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);

КонецЕсли;

Соединение = OPI_SSH.ОткрытьСоединение(НастройкиSSH, НастройкиПрокси);

Если OPI_SSH.ЭтоКоннектор(Соединение) Тогда
Результат = OPI_SSH.ВыполнитьКоманду(Соединение, "whoami");
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
    # JSON данные также могут быть переданы как путь к файлу .json

oint ssh ВыполнитьКоманду \
--conn "{'set':{'auth_type':'private_key','host':'172.33.0.13','port':'2222','username':'bayselonarrend','key_path':'***','pub_path':'/tmp/xdwx3fbo.mwg.tmp'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" \
--comm "whoami"
Результат
{
"exit_code": "0",
"result": true,
"stderr": "",
"stdout": "bayselonarrend"
}