"Кроссплатформенная" библиотека для работы с SSH на основе OSCRIPT-SSH




Описана конфигурация, реализующая выполнение библиотеки OSCRIPT-SSH на платформе 1С:Предприятие, а также http-сервисах OneScript.

Введение

В процессе работы над этой конфигурацией встал вопрос о взаимодействии с оборудованием и удаленными компьютерами. Одним из промышленных стандартов, в этом отношении, является протокол SSH и большинство видов оборудования и ОС имеют встроенные средства работы по этому протоколу. Поскольку одним из видов “рабочего сервера” в вышеупомянутой конфигурации является сервер с развернутым http-сервисом OneScript, было решено воспользоваться готовым решением, входящим в библиотеку OneScript, созданным на базе широко известной разработки Ssh.Net. Поскольку директива #Использовать, не поддерживается механизмом http-сервисов (возможно ситуация изменилась), было решено создать обертку, которая позволяет использовать эту библиотеку в http-сервисах, а также из платформы.

Состав конфигурации

Библиотека оформлена в виде конфигурации, которая может быть внедрена в прикладное решение на базе вашей конфигурации либо на основе каркасной конфигурации http-сервисы OneScript. Поскольку для реализации выполнения в среде 1С:Предприятие используется технология COM, ее использование ограничено ОС Windows. В среде выполнения OneScript библиотека может быть использована также и в приложениях, под управлением ОС Linux.

Подсистема БиблиотекаКлиентSSH

Данная подсистема представляет собой реализацию библиотеки для платформы 1С:Предприятие. Ее состав представлен на рисунке ниже

Рисунок 1. Состав подсистемы БиблиотекаКлиентSSH

Она включает в себя макет, с бинарными файлами, реализующими COM-объекты (1), макет с краткой инструкцией по установке COM-объекта (2), а также набор обработок, реализующий классы библиотеки (3).

Подсистема БиблиотекаКлиентSSHДляOneScript

Данная подсистема представляет собой реализацию библиотеки для внедрения в каркасную конфигурацию HTTP-сервисы OneScript. Ее состав представлен на рисунке ниже.

Рисунок 2. Состав подсистемы БиблиотекаКлиентSSHДляOneScript

Подсистема включает в себя макеты с настройками файла web.config (1), бинарные файлы библиотеки (2), а также краткую информацию (3).

Подсистема ДемоБиблиотекаКлиентSSH

Содержит простейшую демонстрационную обработку, которая предназначена для тестирования работоспособности.

Тестируем работоспособность

Зарегистрируем COM-компоненты, запустим конфигурацию в режиме предприятия и откроем демонстрационную обработку.

Заполним параметры подключения. В приведенном случае – это виртуальная машина под управлением Ubuntu Server 16.04., введем команду и нажмем кнопку выполнить.

При этом будет выполнен следующий фрагмент кода

 

Результат выполнения команды, представлены на рисунке ниже:

Рисунок 2. Результат выполнения команды.

Использование библиотеки в http-сервисах OneScript синтаксически полностью аналогично использованию из 1С:Предприятие.

Заключение

Надеюсь, что данная библиотека будет полезной, для задач взаимодействия с оборудованием и удаленными компьютерами.

P.S.

Библиотека также доступна на github, и я надеюсь, что asosnoviy примет pull request J

История версий

Текущая версия 1.1.0.3

Добавлена реализация класса КомандаSSH

 
 

 

4 Comments

  1. mort64ram

    Здравствуйте, туннели с помощью нее не получится прокидывать?

    Reply
  2. blackhole321

    (1)Сама библиотека позволяет:

    https://stackoverflow.com/questions/31105470/ssh-net-tunneling

    Однако компоненты для этой задачи надо допиливать

    Reply
  3. mort64ram

    (2) Здравствуйте, спасибо большое за ответ и ссылку.

    Reply
  4. blackhole321

    (3)не за что 🙂

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *