Skip to main content

Get connection configuration

Forms a complete structure of connection settings that can be used instead of the actual connection when calling other functions

Function GetConnectionConfiguration(Val SSHSettings, Val Proxy = Undefined) Export

ParameterCLI optionTypeRequiredDescription
SSHSettings--setStructure Of KeyAndValueSSH settings
Proxy--proxyStructure Of KeyAndValueProxy settings, if required. See GetProxySettings

Returns: Structure Of KeyAndValue - Connection settings structure


tip

Can be passed as the Connection parameter in other functions instead of the actual connection from the CreateConnection function.

At the same time, a new connection will be opened and closed within the called function

It is not recommended to use the connection configuration for multiple requests to the SSH server. This functionality is primarily intended for the CLI version of OInt, where maintaining a connection between calls is not possible


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;

Result = OPI_SSH.GetConnectionConfiguration(SSHSettings, ProxySettings);
    # JSON data can also be passed as a path to a .json file

oint ssh GetConnectionConfiguration \
--set "{'auth_type':'private_key','host':'172.33.0.13','port':'2222','username':'bayselonarrend','key_path':'***','pub_path':'/tmp/d4nbv42e.ise.tmp'}" \
--proxy "{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}"
Result
{
"set": {
"auth_type": "password",
"host": "172.33.0.13",
"port": 2222,
"username": "bayselonarrend",
"password": "***"
},
"proxy": {
"server": "host.docker.internal",
"port": 1080,
"proxy_type": "socks5",
"login": "proxyuser",
"password": "***"
}
}