1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-11-25 22:12:29 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot)
2025-09-23 22:49:58 +03:00
parent 2f7c22a8e8
commit baf07796ee
25 changed files with 10349 additions and 9526 deletions

1
docs/en/data/SSH/ExecuteCommand.json vendored Normal file
View File

@@ -0,0 +1 @@
{"Host":"172.33.0.13","Port":"2222","Login":"bayselonarrend","Password":"12we...","ProxyType":"http","ProxyAddress":"127.0.0.1","ProxyPort":8071,"ProxyLogin":"proxyuser","ProxyPassword":"12we..."}

49
docs/en/examples/SSH/ExecuteCommand.txt vendored Normal file
View File

@@ -0,0 +1,49 @@
 Host = "172.33.0.13";
Port = "2222";
UseProxy = True;
ProxySettings = Undefined;
AuthorizationType = "By login and password";
If AuthorizationType = "By login and password" Then
Login = "bayselonarrend";
Password = "12we...";
SSHSettings = OPI_SSH.GetSettingsLoginPassword(Host, Port, Login, Password);
ElsIf AuthorizationType = "By key" Then
Login = "bayselonarrend";
PrivateKey = "./ssh_key";
PublicKey = "./ssh_key.pub";
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
Else
Login = "bayselonarrend";
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
EndIf;
If UseProxy Then
ProxyType = "http"; // http, socks5, socks4
ProxyAddress = "127.0.0.1";
ProxyPort = "8071";
ProxyLogin = "proxyuser";
ProxyPassword = "12we...";
ProxySettings = OPI_SSH.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
If OPI_SSH.IsConnector(Connection) Then
Result = OPI_SSH.ExecuteCommand(Connection, "whoami");
Else
Result = Connection; // Error of connection
EndIf;

View File

@@ -26,7 +26,57 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Host = "172.33.0.13";
Port = "2222";
UseProxy = True;
ProxySettings = Undefined;
AuthorizationType = "By login and password";
If AuthorizationType = "By login and password" Then
Login = "bayselonarrend";
Password = "12we...";
SSHSettings = OPI_SSH.GetSettingsLoginPassword(Host, Port, Login, Password);
ElsIf AuthorizationType = "By key" Then
Login = "bayselonarrend";
PrivateKey = "./ssh_key";
PublicKey = "./ssh_key.pub";
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
Else
Login = "bayselonarrend";
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
EndIf;
If UseProxy Then
ProxyType = "http"; // http, socks5, socks4
ProxyAddress = "127.0.0.1";
ProxyPort = "8071";
ProxyLogin = "proxyuser";
ProxyPassword = "12we...";
ProxySettings = OPI_SSH.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
If OPI_SSH.IsConnector(Connection) Then
Result = OPI_SSH.ExecuteCommand(Connection, "whoami");
Else
Result = Connection; // Error of connection
EndIf;
```

View File

@@ -0,0 +1 @@
{"Хост":"172.33.0.13","Порт":"2222","Логин":"bayselonarrend","Пароль":"12we...","ТипПрокси":"http","АдресПрокси":"127.0.0.1","ПортПрокси":8071,"ЛогинПрокси":"proxyuser","ПарольПрокси":"12we..."}

View File

@@ -0,0 +1,49 @@
 Хост = "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");
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;

View File

@@ -26,7 +26,57 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 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");
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
```

File diff suppressed because it is too large Load Diff

View File

@@ -6348,5 +6348,10 @@
"lib": "SSH",
"name": "CreateConnection",
"variant": ""
},
{
"lib": "SSH",
"name": "ExecuteCommand",
"variant": ""
}
]

View File

@@ -6348,5 +6348,10 @@
"lib": "SSH",
"name": "ОткрытьСоединение",
"variant": ""
},
{
"lib": "SSH",
"name": "ВыполнитьКоманду",
"variant": ""
}
]

View File

@@ -321,6 +321,8 @@ Function CheckCreateConnection(Connection)
CloseConnection = True;
Connection = CreateConnection(Connection);
Else
CloseConnection = False;
EndIf;
Return CloseConnection;

View File

@@ -2954,6 +2954,7 @@ Procedure SShell_CommonMethods() Export
For Each TestParameters In OptionArray Do
SSH_CreateConnection(TestParameters);
SSH_ExecuteCommand(TestParameters);
EndDo;
@@ -22834,6 +22835,73 @@ Procedure SSH_CreateConnection(FunctionParameters)
EndProcedure
Procedure SSH_ExecuteCommand(FunctionParameters)
Postfix = FunctionParameters["Postfix"]; // SKIP
Host = FunctionParameters["SSH_Host"];
Port = FunctionParameters["SSH_Port"];
UseProxy = True;
ProxySettings = Undefined;
AuthorizationType = "By login and password";
UseProxy = FunctionParameters["Proxy"]; // SKIP
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
If AuthorizationType = "By login and password" Then
Login = FunctionParameters["SSH_User"];
Password = FunctionParameters["SSH_Password"];
SSHSettings = OPI_SSH.GetSettingsLoginPassword(Host, Port, Login, Password);
ElsIf AuthorizationType = "By key" Then
Login = FunctionParameters["SSH_User"];
PrivateKey = "./ssh_key";
PublicKey = "./ssh_key.pub";
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
Else
Login = FunctionParameters["SSH_User"];
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
EndIf;
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
ProxySettings = OPI_SSH.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
If OPI_SSH.IsConnector(Connection) Then
Result = OPI_SSH.ExecuteCommand(Connection, "whoami");
Else
Result = Connection; // Error of connection
EndIf;
// END
Process(Result, "SSH", "ExecuteCommand", Postfix);
EndProcedure
#EndRegion
#EndRegion

View File

@@ -2955,6 +2955,7 @@ Procedure SShell_CommonMethods() Export
For Each TestParameters In OptionArray Do
SSH_CreateConnection(TestParameters);
SSH_ExecuteCommand(TestParameters);
EndDo;
@@ -30047,6 +30048,90 @@ Procedure SSH_CreateConnection(FunctionParameters)
EndProcedure
Procedure SSH_ExecuteCommand(FunctionParameters)
Postfix = FunctionParameters["Postfix"]; // SKIP
Host = FunctionParameters["SSH_Host"];
Port = FunctionParameters["SSH_Port"];
UseProxy = True;
ProxySettings = Undefined;
AuthorizationType = "By login and password";
UseProxy = FunctionParameters["Proxy"]; // SKIP
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
If AuthorizationType = "By login and password" Then
Login = FunctionParameters["SSH_User"];
Password = FunctionParameters["SSH_Password"];
Options = New Structure;
Options.Insert("host", Host);
Options.Insert("port", Port);
Options.Insert("user", Login);
Options.Insert("pass", Password);
SSHSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
ElsIf AuthorizationType = "By key" Then
Login = FunctionParameters["SSH_User"];
PrivateKey = "./ssh_key";
PublicKey = "./ssh_key.pub";
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
Else
Login = FunctionParameters["SSH_User"];
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
EndIf;
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
Options = New Structure;
Options.Insert("addr", ProxyAddress);
Options.Insert("port", ProxyPort);
Options.Insert("type", ProxyType);
Options.Insert("login", ProxyLogin);
Options.Insert("pass", ProxyPassword);
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
EndIf;
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
If OPI_SSH.IsConnector(Connection) Then
Options = New Structure;
Options.Insert("conn", Connection);
Options.Insert("comm", "whoami");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "ExecuteCommand", Options);
Else
Result = Connection; // Error of connection
EndIf;
// END
Process(Result, "SSH", "ExecuteCommand", Postfix);
EndProcedure
#EndRegion
#EndRegion

File diff suppressed because it is too large Load Diff

View File

@@ -321,6 +321,8 @@ Function CheckCreateConnection(Connection)
CloseConnection = True;
Connection = CreateConnection(Connection);
Else
CloseConnection = False;
EndIf;
Return CloseConnection;

File diff suppressed because it is too large Load Diff

View File

@@ -2954,6 +2954,7 @@ Procedure SShell_CommonMethods() Export
For Each TestParameters In OptionArray Do
SSH_CreateConnection(TestParameters);
SSH_ExecuteCommand(TestParameters);
EndDo;
@@ -22835,6 +22836,73 @@ Procedure SSH_CreateConnection(FunctionParameters)
EndProcedure
Procedure SSH_ExecuteCommand(FunctionParameters)
Postfix = FunctionParameters["Postfix"]; // SKIP
Host = FunctionParameters["SSH_Host"];
Port = FunctionParameters["SSH_Port"];
UseProxy = True;
ProxySettings = Undefined;
AuthorizationType = "By login and password";
UseProxy = FunctionParameters["Proxy"]; // SKIP
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
If AuthorizationType = "By login and password" Then
Login = FunctionParameters["SSH_User"];
Password = FunctionParameters["SSH_Password"];
SSHSettings = OPI_SSH.GetSettingsLoginPassword(Host, Port, Login, Password);
ElsIf AuthorizationType = "By key" Then
Login = FunctionParameters["SSH_User"];
PrivateKey = "./ssh_key";
PublicKey = "./ssh_key.pub";
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
Else
Login = FunctionParameters["SSH_User"];
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
EndIf;
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
ProxySettings = OPI_SSH.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
If OPI_SSH.IsConnector(Connection) Then
Result = OPI_SSH.ExecuteCommand(Connection, "whoami");
Else
Result = Connection; // Error of connection
EndIf;
// END
Process(Result, "SSH", "ExecuteCommand", Postfix);
EndProcedure
#EndRegion
#EndRegion

View File

@@ -2955,6 +2955,7 @@ Procedure SShell_CommonMethods() Export
For Each TestParameters In OptionArray Do
SSH_CreateConnection(TestParameters);
SSH_ExecuteCommand(TestParameters);
EndDo;
@@ -30047,6 +30048,90 @@ Procedure SSH_CreateConnection(FunctionParameters)
EndProcedure
Procedure SSH_ExecuteCommand(FunctionParameters)
Postfix = FunctionParameters["Postfix"]; // SKIP
Host = FunctionParameters["SSH_Host"];
Port = FunctionParameters["SSH_Port"];
UseProxy = True;
ProxySettings = Undefined;
AuthorizationType = "By login and password";
UseProxy = FunctionParameters["Proxy"]; // SKIP
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
If AuthorizationType = "By login and password" Then
Login = FunctionParameters["SSH_User"];
Password = FunctionParameters["SSH_Password"];
Options = New Structure;
Options.Insert("host", Host);
Options.Insert("port", Port);
Options.Insert("user", Login);
Options.Insert("pass", Password);
SSHSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
ElsIf AuthorizationType = "By key" Then
Login = FunctionParameters["SSH_User"];
PrivateKey = "./ssh_key";
PublicKey = "./ssh_key.pub";
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
Else
Login = FunctionParameters["SSH_User"];
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
EndIf;
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
Options = New Structure;
Options.Insert("addr", ProxyAddress);
Options.Insert("port", ProxyPort);
Options.Insert("type", ProxyType);
Options.Insert("login", ProxyLogin);
Options.Insert("pass", ProxyPassword);
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
EndIf;
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
If OPI_SSH.IsConnector(Connection) Then
Options = New Structure;
Options.Insert("conn", Connection);
Options.Insert("comm", "whoami");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "ExecuteCommand", Options);
Else
Result = Connection; // Error of connection
EndIf;
// END
Process(Result, "SSH", "ExecuteCommand", Postfix);
EndProcedure
#EndRegion
#EndRegion

View File

@@ -321,6 +321,8 @@
ЗакрыватьСоединение = Истина;
Соединение = ОткрытьСоединение(Соединение);
Иначе
ЗакрыватьСоединение = Ложь;
КонецЕсли;
Возврат ЗакрыватьСоединение;

View File

@@ -2954,6 +2954,7 @@
Для Каждого ПараметрыТеста Из МассивВариантов Цикл
SSH_ОткрытьСоединение(ПараметрыТеста);
SSH_ВыполнитьКоманду(ПараметрыТеста);
КонецЦикла;
@@ -22834,6 +22835,73 @@
КонецПроцедуры
Процедура SSH_ВыполнитьКоманду(ПараметрыФункции)
Постфикс = ПараметрыФункции["Postfix"]; // SKIP
Хост = ПараметрыФункции["SSH_Host"];
Порт = ПараметрыФункции["SSH_Port"];
ИспользоватьПрокси = Истина;
НастройкиПрокси = Неопределено;
ВидАвторизации = "По логину и паролю";
ИспользоватьПрокси = ПараметрыФункции["Proxy"]; // SKIP
ВидАвторизации = ПараметрыФункции["AuthType"]; // SKIP
Если ВидАвторизации = "По логину и паролю" Тогда
Логин = ПараметрыФункции["SSH_User"];
Пароль = ПараметрыФункции["SSH_Password"];
НастройкиSSH = OPI_SSH.ПолучитьНастройкиЛогинПароль(Хост, Порт, Логин, Пароль);
ИначеЕсли ВидАвторизации = "По ключу" Тогда
Логин = ПараметрыФункции["SSH_User"];
ПриватныйКлюч = "./ssh_key";
ПубличныйКлюч = "./ssh_key.pub";
ПриватныйКлюч = ПараметрыФункции["SSH_Key"]; // SKIP
ПубличныйКлюч = ПараметрыФункции["SSH_Pub"]; // SKIP
НастройкиSSH = OPI_SSH.ПолучитьНастройкиПриватныйКлюч(Хост, Порт, Логин, ПриватныйКлюч, ПубличныйКлюч);
Иначе
Логин = ПараметрыФункции["SSH_User"];
НастройкиSSH = OPI_SSH.ПолучитьНастройкиЧерезАгента(Хост, Порт, Логин);
КонецЕсли;
Если ИспользоватьПрокси Тогда
ТипПрокси = ПараметрыФункции["Proxy_Type"]; // http, socks5, socks4
АдресПрокси = ПараметрыФункции["Proxy_IP"];
ПортПрокси = ПараметрыФункции["Proxy_Port"];
ЛогинПрокси = ПараметрыФункции["Proxy_User"];
ПарольПрокси = ПараметрыФункции["Proxy_Password"];
НастройкиПрокси = OPI_SSH.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);
КонецЕсли;
Соединение = OPI_SSH.ОткрытьСоединение(НастройкиSSH, НастройкиПрокси);
Если OPI_SSH.ЭтоКоннектор(Соединение) Тогда
Результат = OPI_SSH.ВыполнитьКоманду(Соединение, "whoami");
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
// END
Обработать(Результат, "SSH", "ВыполнитьКоманду", Постфикс);
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@@ -2955,6 +2955,7 @@
Для Каждого ПараметрыТеста Из МассивВариантов Цикл
SSH_ОткрытьСоединение(ПараметрыТеста);
SSH_ВыполнитьКоманду(ПараметрыТеста);
КонецЦикла;
@@ -30047,6 +30048,90 @@
КонецПроцедуры
Процедура SSH_ВыполнитьКоманду(ПараметрыФункции)
Постфикс = ПараметрыФункции["Postfix"]; // SKIP
Хост = ПараметрыФункции["SSH_Host"];
Порт = ПараметрыФункции["SSH_Port"];
ИспользоватьПрокси = Истина;
НастройкиПрокси = Неопределено;
ВидАвторизации = "По логину и паролю";
ИспользоватьПрокси = ПараметрыФункции["Proxy"]; // SKIP
ВидАвторизации = ПараметрыФункции["AuthType"]; // SKIP
Если ВидАвторизации = "По логину и паролю" Тогда
Логин = ПараметрыФункции["SSH_User"];
Пароль = ПараметрыФункции["SSH_Password"];
Опции = Новый Структура;
Опции.Вставить("host", Хост);
Опции.Вставить("port", Порт);
Опции.Вставить("user", Логин);
Опции.Вставить("pass", Пароль);
НастройкиSSH = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ssh", "ПолучитьНастройкиЛогинПароль", Опции);
ИначеЕсли ВидАвторизации = "По ключу" Тогда
Логин = ПараметрыФункции["SSH_User"];
ПриватныйКлюч = "./ssh_key";
ПубличныйКлюч = "./ssh_key.pub";
ПриватныйКлюч = ПараметрыФункции["SSH_Key"]; // SKIP
ПубличныйКлюч = ПараметрыФункции["SSH_Pub"]; // SKIP
НастройкиSSH = OPI_SSH.ПолучитьНастройкиПриватныйКлюч(Хост, Порт, Логин, ПриватныйКлюч, ПубличныйКлюч);
Иначе
Логин = ПараметрыФункции["SSH_User"];
НастройкиSSH = OPI_SSH.ПолучитьНастройкиЧерезАгента(Хост, Порт, Логин);
КонецЕсли;
Если ИспользоватьПрокси Тогда
ТипПрокси = ПараметрыФункции["Proxy_Type"]; // http, socks5, socks4
АдресПрокси = ПараметрыФункции["Proxy_IP"];
ПортПрокси = ПараметрыФункции["Proxy_Port"];
ЛогинПрокси = ПараметрыФункции["Proxy_User"];
ПарольПрокси = ПараметрыФункции["Proxy_Password"];
Опции = Новый Структура;
Опции.Вставить("addr", АдресПрокси);
Опции.Вставить("port", ПортПрокси);
Опции.Вставить("type", ТипПрокси);
Опции.Вставить("login", ЛогинПрокси);
Опции.Вставить("pass", ПарольПрокси);
НастройкиПрокси = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ssh", "ПолучитьНастройкиПрокси", Опции);
КонецЕсли;
Соединение = OPI_SSH.ОткрытьСоединение(НастройкиSSH, НастройкиПрокси);
Если OPI_SSH.ЭтоКоннектор(Соединение) Тогда
Опции = Новый Структура;
Опции.Вставить("conn", Соединение);
Опции.Вставить("comm", "whoami");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ssh", "ВыполнитьКоманду", Опции);
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
// END
Обработать(Результат, "SSH", "ВыполнитьКоманду", Постфикс);
КонецПроцедуры
#КонецОбласти
#КонецОбласти

File diff suppressed because it is too large Load Diff

View File

@@ -2955,6 +2955,7 @@
Для Каждого ПараметрыТеста Из МассивВариантов Цикл
SSH_ОткрытьСоединение(ПараметрыТеста);
SSH_ВыполнитьКоманду(ПараметрыТеста);
КонецЦикла;
@@ -30047,6 +30048,90 @@
КонецПроцедуры
Процедура SSH_ВыполнитьКоманду(ПараметрыФункции)
Постфикс = ПараметрыФункции["Postfix"]; // SKIP
Хост = ПараметрыФункции["SSH_Host"];
Порт = ПараметрыФункции["SSH_Port"];
ИспользоватьПрокси = Истина;
НастройкиПрокси = Неопределено;
ВидАвторизации = "По логину и паролю";
ИспользоватьПрокси = ПараметрыФункции["Proxy"]; // SKIP
ВидАвторизации = ПараметрыФункции["AuthType"]; // SKIP
Если ВидАвторизации = "По логину и паролю" Тогда
Логин = ПараметрыФункции["SSH_User"];
Пароль = ПараметрыФункции["SSH_Password"];
Опции = Новый Структура;
Опции.Вставить("host", Хост);
Опции.Вставить("port", Порт);
Опции.Вставить("user", Логин);
Опции.Вставить("pass", Пароль);
НастройкиSSH = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ssh", "ПолучитьНастройкиЛогинПароль", Опции);
ИначеЕсли ВидАвторизации = "По ключу" Тогда
Логин = ПараметрыФункции["SSH_User"];
ПриватныйКлюч = "./ssh_key";
ПубличныйКлюч = "./ssh_key.pub";
ПриватныйКлюч = ПараметрыФункции["SSH_Key"]; // SKIP
ПубличныйКлюч = ПараметрыФункции["SSH_Pub"]; // SKIP
НастройкиSSH = OPI_SSH.ПолучитьНастройкиПриватныйКлюч(Хост, Порт, Логин, ПриватныйКлюч, ПубличныйКлюч);
Иначе
Логин = ПараметрыФункции["SSH_User"];
НастройкиSSH = OPI_SSH.ПолучитьНастройкиЧерезАгента(Хост, Порт, Логин);
КонецЕсли;
Если ИспользоватьПрокси Тогда
ТипПрокси = ПараметрыФункции["Proxy_Type"]; // http, socks5, socks4
АдресПрокси = ПараметрыФункции["Proxy_IP"];
ПортПрокси = ПараметрыФункции["Proxy_Port"];
ЛогинПрокси = ПараметрыФункции["Proxy_User"];
ПарольПрокси = ПараметрыФункции["Proxy_Password"];
Опции = Новый Структура;
Опции.Вставить("addr", АдресПрокси);
Опции.Вставить("port", ПортПрокси);
Опции.Вставить("type", ТипПрокси);
Опции.Вставить("login", ЛогинПрокси);
Опции.Вставить("pass", ПарольПрокси);
НастройкиПрокси = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ssh", "ПолучитьНастройкиПрокси", Опции);
КонецЕсли;
Соединение = OPI_SSH.ОткрытьСоединение(НастройкиSSH, НастройкиПрокси);
Если OPI_SSH.ЭтоКоннектор(Соединение) Тогда
Опции = Новый Структура;
Опции.Вставить("conn", Соединение);
Опции.Вставить("comm", "whoami");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ssh", "ВыполнитьКоманду", Опции);
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
// END
Обработать(Результат, "SSH", "ВыполнитьКоманду", Постфикс);
КонецПроцедуры
#КонецОбласти
#КонецОбласти