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",
|
"lib": "SSH",
|
||||||
"name": "CreateConnection",
|
"name": "CreateConnection",
|
||||||
"variant": ""
|
"variant": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"lib": "SSH",
|
||||||
|
"name": "ExecuteCommand",
|
||||||
|
"variant": ""
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
5
service/tests_ru.json
vendored
5
service/tests_ru.json
vendored
@@ -6348,5 +6348,10 @@
|
|||||||
"lib": "SSH",
|
"lib": "SSH",
|
||||||
"name": "ОткрытьСоединение",
|
"name": "ОткрытьСоединение",
|
||||||
"variant": ""
|
"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;
|
CloseConnection = True;
|
||||||
Connection = CreateConnection(Connection);
|
Connection = CreateConnection(Connection);
|
||||||
|
|
||||||
|
Else
|
||||||
|
CloseConnection = False;
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
Return CloseConnection;
|
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
|
For Each TestParameters In OptionArray Do
|
||||||
|
|
||||||
SSH_CreateConnection(TestParameters);
|
SSH_CreateConnection(TestParameters);
|
||||||
|
SSH_ExecuteCommand(TestParameters);
|
||||||
|
|
||||||
EndDo;
|
EndDo;
|
||||||
|
|
||||||
@@ -22834,6 +22835,73 @@ Procedure SSH_CreateConnection(FunctionParameters)
|
|||||||
|
|
||||||
EndProcedure
|
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
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
|||||||
@@ -2955,6 +2955,7 @@ Procedure SShell_CommonMethods() Export
|
|||||||
For Each TestParameters In OptionArray Do
|
For Each TestParameters In OptionArray Do
|
||||||
|
|
||||||
SSH_CreateConnection(TestParameters);
|
SSH_CreateConnection(TestParameters);
|
||||||
|
SSH_ExecuteCommand(TestParameters);
|
||||||
|
|
||||||
EndDo;
|
EndDo;
|
||||||
|
|
||||||
@@ -30047,6 +30048,90 @@ Procedure SSH_CreateConnection(FunctionParameters)
|
|||||||
|
|
||||||
EndProcedure
|
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
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
|||||||
281
src/en/OInt/tools/Modules/OPI_TestDataRetrieval.os
vendored
281
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;
|
CloseConnection = True;
|
||||||
Connection = CreateConnection(Connection);
|
Connection = CreateConnection(Connection);
|
||||||
|
|
||||||
|
Else
|
||||||
|
CloseConnection = False;
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
Return CloseConnection;
|
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
|
For Each TestParameters In OptionArray Do
|
||||||
|
|
||||||
SSH_CreateConnection(TestParameters);
|
SSH_CreateConnection(TestParameters);
|
||||||
|
SSH_ExecuteCommand(TestParameters);
|
||||||
|
|
||||||
EndDo;
|
EndDo;
|
||||||
|
|
||||||
@@ -22835,6 +22836,73 @@ Procedure SSH_CreateConnection(FunctionParameters)
|
|||||||
|
|
||||||
EndProcedure
|
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
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
|||||||
@@ -2955,6 +2955,7 @@ Procedure SShell_CommonMethods() Export
|
|||||||
For Each TestParameters In OptionArray Do
|
For Each TestParameters In OptionArray Do
|
||||||
|
|
||||||
SSH_CreateConnection(TestParameters);
|
SSH_CreateConnection(TestParameters);
|
||||||
|
SSH_ExecuteCommand(TestParameters);
|
||||||
|
|
||||||
EndDo;
|
EndDo;
|
||||||
|
|
||||||
@@ -30047,6 +30048,90 @@ Procedure SSH_CreateConnection(FunctionParameters)
|
|||||||
|
|
||||||
EndProcedure
|
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
|
||||||
|
|
||||||
#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_ОткрытьСоединение(ПараметрыТеста);
|
||||||
|
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_ОткрытьСоединение(ПараметрыТеста);
|
||||||
|
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
@@ -320,7 +320,7 @@
|
|||||||
|
|
||||||
ЗакрыватьСоединение = Истина;
|
ЗакрыватьСоединение = Истина;
|
||||||
Соединение = ОткрытьСоединение(Соединение);
|
Соединение = ОткрытьСоединение(Соединение);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
ЗакрыватьСоединение = Ложь;
|
ЗакрыватьСоединение = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
@@ -9599,10 +9599,10 @@
|
|||||||
HTTPЗапрос = Результат.ВернутьЗапрос();
|
HTTPЗапрос = Результат.ВернутьЗапрос();
|
||||||
HTTPСоединение = Результат.ВернутьСоединение();
|
HTTPСоединение = Результат.ВернутьСоединение();
|
||||||
HTTPОтвет = Результат.ВернутьОтвет();
|
HTTPОтвет = Результат.ВернутьОтвет();
|
||||||
|
|
||||||
ОсновнойURL = СтрЗаменить(Параметры["HTTP_URL"], "https://", "");
|
ОсновнойURL = СтрЗаменить(Параметры["HTTP_URL"], "https://", "");
|
||||||
ОсновнойURL = СтрЗаменить(ОсновнойURL, "http://", "");
|
ОсновнойURL = СтрЗаменить(ОсновнойURL , "http://" , "");
|
||||||
|
|
||||||
Если СтрНайти(ОсновнойURL, ":") > 0 Тогда
|
Если СтрНайти(ОсновнойURL, ":") > 0 Тогда
|
||||||
ОсновнойURL = СтрРазделить(ОсновнойURL, ":")[0];
|
ОсновнойURL = СтрРазделить(ОсновнойURL, ":")[0];
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -9659,8 +9659,8 @@
|
|||||||
HTTPСоединение = Результат.ВернутьСоединение();
|
HTTPСоединение = Результат.ВернутьСоединение();
|
||||||
HTTPОтвет = Результат.ВернутьОтвет();
|
HTTPОтвет = Результат.ВернутьОтвет();
|
||||||
ОсновнойURL = СтрЗаменить(Параметры["HTTP_URL"], "https://", "");
|
ОсновнойURL = СтрЗаменить(Параметры["HTTP_URL"], "https://", "");
|
||||||
ОсновнойURL = СтрЗаменить(ОсновнойURL, "http://", "");
|
ОсновнойURL = СтрЗаменить(ОсновнойURL , "http://" , "");
|
||||||
|
|
||||||
Если СтрНайти(ОсновнойURL, ":") > 0 Тогда
|
Если СтрНайти(ОсновнойURL, ":") > 0 Тогда
|
||||||
ОсновнойURL = СтрРазделить(ОсновнойURL, ":")[0];
|
ОсновнойURL = СтрРазделить(ОсновнойURL, ":")[0];
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -11362,9 +11362,9 @@
|
|||||||
ОжидаетЧто(Результат["result"]).Равно(Истина);
|
ОжидаетЧто(Результат["result"]).Равно(Истина);
|
||||||
ОжидаетЧто(Результат["stderr"]).Равно("");
|
ОжидаетЧто(Результат["stderr"]).Равно("");
|
||||||
ОжидаетЧто(Результат["exit_code"]).Равно("0");
|
ОжидаетЧто(Результат["exit_code"]).Равно("0");
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|||||||
@@ -22890,7 +22890,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Соединение = OPI_SSH.ОткрытьСоединение(НастройкиSSH, НастройкиПрокси);
|
Соединение = OPI_SSH.ОткрытьСоединение(НастройкиSSH, НастройкиПрокси);
|
||||||
|
|
||||||
Если OPI_SSH.ЭтоКоннектор(Соединение) Тогда
|
Если OPI_SSH.ЭтоКоннектор(Соединение) Тогда
|
||||||
Результат = OPI_SSH.ВыполнитьКоманду(Соединение, "whoami");
|
Результат = OPI_SSH.ВыполнитьКоманду(Соединение, "whoami");
|
||||||
Иначе
|
Иначе
|
||||||
|
|||||||
@@ -2955,6 +2955,7 @@
|
|||||||
Для Каждого ПараметрыТеста Из МассивВариантов Цикл
|
Для Каждого ПараметрыТеста Из МассивВариантов Цикл
|
||||||
|
|
||||||
SSH_ОткрытьСоединение(ПараметрыТеста);
|
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