Защищенный обмен через SSH и SFTP для 1С (open-source)

20.10.25

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Библиотека для работы с протоколами SSH и SFTP на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

Если вы не слышали ранее об Открытом Пакете Интеграций (что вполне вероятно), то небольшая вводная часть ниже, под катом. Тем, кто уже знаком с ОПИ, данный раздел можно пропустить.

 
 Что такое Открытый Пакет Интеграций

 

Открытый Пакет Интеграций (ОПИ, OpenIntegrations) - это open-source набор методов для простой и быстрой интеграции с различными популярными API. Он состоит из аналогичных по функционалу 1С-расширения (CFE), OS-пакета и консольного приложения для Windows и Linux, которые предоставляют готовые функции для работы с целым набором различных онлайн-сервисов.


  • ОПИ бесплатен и имеет открытый исходный код на GitHub. Вы всегда можете получить последнюю версию библиотеки на странице репозитория, а подписавшись - узнавать о выходе обновлений. Все релизы сопровождаются статьями на Инфостарт и разделами единой документации. На Инфостарт вы можете подписаться уже хоть сейчас, а про документацию я расскажу далее.

 

 


 

  • Удобная единая документация. Она расположена на сайте openintegrations.dev и содержит в себе всю информацию, необходимую для работы: инструкции по предварительным действиям для начала интеграции, описания всех методов с параметрами и возвращаемыми значениями, примеры кода и т.д. Каждый API имеет там свой раздел.

 

 

 

  • Простая установка. ОПИ распространяется во множестве вариантах: как XML файлы расширения, как EDT проект расширения, как файл расширения формата .cfe (версия 1С 8.3.9), как файл пакета для OneScript и еще в целом наборе пакетов и файлов для Windows и Linux. Из этого набора вы всегда сможете выбрать тот способ установки, который лучше подойдет для вашей конкретной задачи

 

На момент последнего обновления данной статьи, доступны следующие API:

Наиболее актуальную информацию можно посмотреть в репозитории или на вводной странице документации.

 

SSH (Secure Shell) — это криптографический сетевой протокол, предназначенный для безопасного удалённого управления компьютерами и передачи данных по незащищенным сетям. В частности, он известен как стандарт при администрировании Unix-подобных систем

 

SFTP (SSH File Transfer Protocol) — это популярный протокол безопасной передачи файлов, работающий поверх, соответственно, SSH

 

Да, SFTP работает именно поверх SSH и, вопреки похожему названию и области применения, к FTP/FTPS прямого отношения не имеет. И, разумеется, интересовать нас сегодня будет в первую очередь именно он - SFTP, так как передача файлов при помощи данного протокола является довольно распространенная задачей при работе с 1С. А работа с SSH, в свою очередь, будет приятным дополнительны бонусом, так как не добавлять возможности выполнения произвольных команд, когда SFTP без SSH все равно не работает, не было никаких причин

 

SFTP

Как правило, для работы с SFTP из 1С используется либо COM-объект WinSCP, либо просто внешний клиент, который подключает удаленную директорию как виртуальный диск или каталог, а обмен с 1С происходит при помощи обычных файловых операций. Оба эти подхода имеют ряд очевидных минусов: WinSCP работает только на Windows и требует регистрации в системе, а отдельные клиенты нуждаются в установке и при работе не отдают никакой информации о своем состоянии напрямую в 1С

Библиотека SFTP в составе ОПИ призвана устранить эти недостатки. Она, как и другие не-http библиотеки Открытого пакета интеграций, основана на внешней компоненте (на Rust), которая лежит в общем макете набором сразу для всех основных ОС: x32 и x64 Windows и Linux. Никакой дополнительной установки, кроме установки самого расширения ОПИ, не требуется, работа происходит при помощи функций общего модуля OPI_SFTP

 

Доступны следующие методы:

  • Основные методы
    • Открытие соединения
    • Закрытие соединения
    • Изменение пути (перемещение/переименование) файла или каталога
  • Работа с директориями
    • Получение списка объектов в директории
    • Создание новой директории
    • Удаление директории
    • Получение имени текущего каталога
  • Работа с файлами
    • Загрузка файла
    • Удаление файла
    • Сохранение файла с сервера на диск
    • Получение файла с сервера в виде двоичных данных
    • Получение метаданных файла


Поддерживается создание соединения через sock и http-прокси, авторизация по логину и паролю, ключу и через ssh-агента

Примеры кода

 
Загрузка файла (с http-прокси и авторизацией по логину и паролю)
 
 Получение ДД файла с сервера (без прокси, с авторизацией по ключу)

 

Подробнее о каждом из методов, а также о работе с SFTP в целом можно узнать в соответствующем разделе онлайн-документации

 

SSH

С SSH все еще проще: помимо функций открытия/закрытия и проверки соединения, которые совпадают с таковыми у SFTP, там есть всего один метод - ВыполнитьКоманду

    Хост = "172.33.0.13";
    Порт = "2222";

    ИспользоватьПрокси = Истина;
    НастройкиПрокси    = Неопределено;
    ВидАвторизации     = "По логину и паролю";

    Если ВидАвторизации = "По логину и паролю" Тогда

        Логин  = "bayselonarrend";
        Пароль = "12we...";

        НастройкиSSH = OPI_SSH.ПолучитьНастройкиЛогинПароль(Хост, Порт, Логин, Пароль);

    ИначеЕсли ВидАвторизации = "По ключу" Тогда

        Логин         = "bayselonarrend";
        ПриватныйКлюч = "./ssh_key";
        ПубличныйКлюч = "./ssh_key.pub";

        НастройкиSSH = OPI_SSH.ПолучитьНастройкиПриватныйКлюч(Хост, Порт, Логин, ПриватныйКлюч, ПубличныйКлюч);

    Иначе

        Логин        = "bayselonarrend";
        НастройкиSSH = OPI_SSH.ПолучитьНастройкиЧерезАгента(Хост, Порт, Логин);

    КонецЕсли;

    Если ИспользоватьПрокси Тогда

        ТипПрокси = "http"; // http, socks5, socks4

        АдресПрокси  = "127.0.0.1";
        ПортПрокси   = "8071";
        ЛогинПрокси  = "proxyuser";
        ПарольПрокси = "12we...";

        НастройкиПрокси = OPI_SSH.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);

    КонецЕсли;

    Соединение = OPI_SSH.ОткрытьСоединение(НастройкиSSH, НастройкиПрокси);

    Если OPI_SSH.ЭтоКоннектор(Соединение) Тогда
        Результат = OPI_SSH.ВыполнитьКоманду(Соединение, "whoami");
    Иначе
        Результат = Соединение; // Ошибка соединения
    КонецЕсли;

 

Как понятно из названия, данный метод позволяет выполнить команду sh на удаленном сервере. Кстати, при работе с SFTP вы также можете использовать этот метод: обе библиотеки имеют общий формат соединения, так что соединение, созданное в модуле SFTP, будет работать и для выполнения произвольных команд в модуле SSH

Как и в случае с остальными библиотеками, больше информации можно найти в документации

 

Ну, а на этом все! Хочу только еще раз напомнить, что ОПИ - это не только расширение для 1С, но и пакет для OneScript, и даже консольное приложение (независимое от 1С:Предприятие) для Windows и Linux. Также призываю попробовать серверную версию ОПИ - Melezh. Она позволяет запускать http-сервер и вызывать методы любых библиотек Открытого пакета интеграций удаленно, со встроенным логированием и возможностью тонкой настройки - там недавно вышло большое обновление (подробнее по ссылкам: раз, два)

 

Ссылки на остальные ресурсы Открытого пакета интеграций будут ниже

Спасибо за внимание!

 

 Если вам нравится ОПИ, то не забывайте поддерживать его на GitHub, Инфостарт и Boosty (ссылка в репозитории)!

 

 

Репозиторий ОПИ: github.com/Bayselonarrend/OpenIntegrations

Последний релиз: github.com/Bayselonarrend/OpenIntegrations/releases/latest

Документация: openintegrations.dev

 
 Куда жать и где скачать?

 

Другие статьи про Открытый пакет интеграций на Инфостарт:

 

 

 Мой GitHub:    https://gitub.com/Bayselonarrend 
 OpenYellow:    https://openyellow.org
 Лицензия MIT:  https://mit-license.org

Вступайте в нашу телеграмм-группу Инфостарт

sftp ssh обмен файлы компонента

См. также

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27660 руб.

12.06.2017    152855    895    302    

463

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

55778 50200 руб.

15.04.2019    78993    213    163    

150

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    178164    328    275    

396

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    42029    120    75    

114

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.255.x) и БП 3.0 (3.0.183.x). Правила подходят для версии ПРОФ и КОРП.

38000 34200 руб.

15.12.2021    29714    214    58    

159

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

55778 50200 руб.

29.10.2018    59145    68    121    

67

Операции по ВЭД Файловый обмен (TXT, XML, DBF), FTP Программист Бухгалтер 1С v8.3 Бухгалтерский учет 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Платные (руб)

Федеральная таможенная служба России давно поддерживает унифицированный формат электронных документов для обмена с информационными системами предприятий. xmlns="urn:customs.ru:Information:ExchangeDocuments:". Структура, утвержденная комиссией Таможенного союза. Осталось только сделать загрузку в 1С из этого формата. На выходе - два документа ГТД по импорту и Поступление (акты, накладные) Обработка актуализирована на начало 2025 года

4800 руб.

09.08.2016    88943    333    378    

92

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 24.09.2025, версия 9.12 - 10.4)

19200 руб.

20.11.2015    167646    418    388    

539
Для отправки сообщения требуется регистрация/авторизация