--- sidebar_position: 3 description: Execute command 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'; # Execute command Executes the specified command `Function ExecuteCommand(Val Connection, Val Command) Export` | Parameter | CLI option | Type | Required | Description | |-|-|-|-|-| | Connection | --conn | Arbitrary | ✔ | Existing connection or connection configuration | | Command | --comm | String | ✔ | Command text | Returns: Map Of KeyAndValue - Processing result
```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; ``` ```bash # JSON data can also be passed as a path to a .json file oint ssh ExecuteCommand \ --conn "{'set':{'auth_type':'private_key','host':'172.33.0.13','port':'2222','username':'bayselonarrend','key_path':'***','pub_path':'/tmp/q44gjtnh.uew.tmp'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" \ --comm "whoami" ``` ```batch :: JSON data can also be passed as a path to a .json file oint ssh ExecuteCommand ^ --conn "{'set':{'auth_type':'private_key','host':'172.33.0.13','port':'2222','username':'bayselonarrend','key_path':'***','pub_path':'/tmp/q44gjtnh.uew.tmp'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" ^ --comm "whoami" ``` ```json title="Result" { "exit_code": "0", "result": true, "stderr": "", "stdout": "bayselonarrend", "close_connection": { "result": true } } ```