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

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

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

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

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

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

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

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

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

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

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

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

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

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

ИначеЕсли ВидАвторизации = "Keyboard interactive" Тогда

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

МассивОтветов = Новый Массив;
МассивОтветов.Добавить(Пароль);

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

Иначе

Логин = "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':'keyboard_interactive','host':'172.33.0.34','port':'2223','username':'bayselonarrend','keyboard_responses':['12we3456!2154']},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" \
--comm "whoami"
Результат
{
"exit_code": "0",
"result": true,
"stderr": "",
"stdout": "bayselonarrend",
"close_connection": {
"result": true
}
}