You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-23 22:05:15 +02:00
126 lines
4.0 KiB
Plaintext
Vendored
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": "***"
|
|
}
|
|
}
|
|
```
|