1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-11-23 22:05:15 +02:00
Files
OpenIntegrations/docs/en/md/SSH/Common-methods/Get-connection-configuration.mdx
Vitaly the Alpaca (bot) 9be4b23629 Main build (Jenkins)
2025-10-31 15:42:42 +03:00

126 lines
4.0 KiB
Plaintext
Vendored

---
sidebar_position: 2
description: Get connection configuration and other functions to work with SSH in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, SSH]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# 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`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| SSHSettings | --set | Structure Of KeyAndValue | ✔ | SSH settings |
| Proxy | --proxy | Structure Of KeyAndValue | ✖ | Proxy settings, if required. See GetProxySettings |
Returns: Structure Of KeyAndValue - Connection settings structure
<br/>
:::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
:::
<br/>
```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;
Result = OPI_SSH.GetConnectionConfiguration(SSHSettings, ProxySettings);
```
<Tabs>
<TabItem value="bash" label="Bash" default>
```bash
# 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':'C:\\Users\\bayse\\AppData\\Local\\Temp\\sres0ncm.4ys.tmp'}" \
--proxy "{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}"
```
</TabItem>
<TabItem value="bat" label="CMD/Bat" default>
```batch
:: 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':'C:\\Users\\bayse\\AppData\\Local\\Temp\\sres0ncm.4ys.tmp'}" ^
--proxy "{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}"
```
</TabItem>
</Tabs>
```json title="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": "***"
}
}
```