Skip to main content

SFTP

This section covers the library for working with SFTP protocol in 1С:Enterprise, OneScript, and CLI. This page describes all the steps required to get started.

An external component is used to implement some functions in this library
Please review the "About external components" section before getting started
This library requires OpenSSL 3.x to run on Linux
Learn more: "Using OpenSSL in External Components"

Getting Started

This library provides various methods for working with SFTP on the client side. Each method accepts a Connection as its first parameter, which can be initialized in one of two ways:

  1. Using the CreateConnection function. In this case, a component object is returned that supports a single connection for multiple requests.
  2. Using the GetConnectionConfiguration function. In this case, only a connection description structure is returned. Each function receiving this structure as the Connection parameter will internally create a new connection and close it upon completion

When performing multiple sequential requests to an SFTP server, it is recommended to use a full connection obtained via the CreateConnection function

Once a connection is established, it can be used with the library's other methods to perform specific tasks

Proxy Usage

The client supports establishing connections through a proxy server. Proxy settings can be obtained using the GetProxySettings function. The resulting structure must then be passed to either CreateConnection or GetConnectionConfiguration when initiating work


...

ProxyType = "http"; // http, socks5, socks4

ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];

ProxySettings = OPI_SFTP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);

Connection = OPI_SFTP.CreateConnection(SFTPSettings, ProxySettings);

Support is provided for socks4, socks5, and http proxy servers

warning

Operation via http-proxy is experimental and may be unstable depending on the proxy server’s implementation, configuration, and capabilities. It is recommended to use socks-proxy whenever possible for stable traffic transmission

Compatibility with the SSH Library

The SFTP and SSH libraries share a common connection format. This means that when working with SFTP, you can also execute sh commands by passing the existing connection object to the SSH library methods.