You've already forked OpenIntegrations
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:
1
docs/en/data/SSH/ExecuteCommand.json
vendored
Normal file
1
docs/en/data/SSH/ExecuteCommand.json
vendored
Normal 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
49
docs/en/examples/SSH/ExecuteCommand.txt
vendored
Normal 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;
|
||||
@@ -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;
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
1
docs/ru/data/SSH/ВыполнитьКоманду.json
vendored
Normal file
1
docs/ru/data/SSH/ВыполнитьКоманду.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"Хост":"172.33.0.13","Порт":"2222","Логин":"bayselonarrend","Пароль":"12we...","ТипПрокси":"http","АдресПрокси":"127.0.0.1","ПортПрокси":8071,"ЛогинПрокси":"proxyuser","ПарольПрокси":"12we..."}
|
||||
49
docs/ru/examples/SSH/ВыполнитьКоманду.txt
vendored
Normal file
49
docs/ru/examples/SSH/ВыполнитьКоманду.txt
vendored
Normal 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");
|
||||
Иначе
|
||||
Результат = Соединение; // Ошибка соединения
|
||||
КонецЕсли;
|
||||
@@ -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");
|
||||
Иначе
|
||||
Результат = Соединение; // Ошибка соединения
|
||||
КонецЕсли;
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
18252
service/dictionaries/en.json
vendored
18252
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
5
service/tests_en.json
vendored
5
service/tests_en.json
vendored
@@ -6348,5 +6348,10 @@
|
||||
"lib": "SSH",
|
||||
"name": "CreateConnection",
|
||||
"variant": ""
|
||||
},
|
||||
{
|
||||
"lib": "SSH",
|
||||
"name": "ExecuteCommand",
|
||||
"variant": ""
|
||||
}
|
||||
]
|
||||
5
service/tests_ru.json
vendored
5
service/tests_ru.json
vendored
@@ -6348,5 +6348,10 @@
|
||||
"lib": "SSH",
|
||||
"name": "ОткрытьСоединение",
|
||||
"variant": ""
|
||||
},
|
||||
{
|
||||
"lib": "SSH",
|
||||
"name": "ВыполнитьКоманду",
|
||||
"variant": ""
|
||||
}
|
||||
]
|
||||
2
src/en/OInt/core/Modules/OPI_SSH.os
vendored
2
src/en/OInt/core/Modules/OPI_SSH.os
vendored
@@ -321,6 +321,8 @@ Function CheckCreateConnection(Connection)
|
||||
CloseConnection = True;
|
||||
Connection = CreateConnection(Connection);
|
||||
|
||||
Else
|
||||
CloseConnection = False;
|
||||
EndIf;
|
||||
|
||||
Return CloseConnection;
|
||||
|
||||
68
src/en/OInt/tests/Modules/internal/OPI_Tests.os
vendored
68
src/en/OInt/tests/Modules/internal/OPI_Tests.os
vendored
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
279
src/en/OInt/tools/Modules/OPI_TestDataRetrieval.os
vendored
279
src/en/OInt/tools/Modules/OPI_TestDataRetrieval.os
vendored
File diff suppressed because it is too large
Load Diff
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
2
src/ru/OInt/core/Modules/OPI_SSH.os
vendored
2
src/ru/OInt/core/Modules/OPI_SSH.os
vendored
@@ -321,6 +321,8 @@
|
||||
ЗакрыватьСоединение = Истина;
|
||||
Соединение = ОткрытьСоединение(Соединение);
|
||||
|
||||
Иначе
|
||||
ЗакрыватьСоединение = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗакрыватьСоединение;
|
||||
|
||||
68
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
68
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
@@ -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", "ВыполнитьКоманду", Постфикс);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -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
@@ -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", "ВыполнитьКоманду", Постфикс);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
Reference in New Issue
Block a user