Удаленный доступ к серверу или рабочему месту часто требуется различным специалистам: системному администратору, программисту и даже бухгалтеру. Иногда на предприятии штатный системный администратор либо отказывается предоставить удаленный доступ, либо не имеет такой возможности (часто просто местный эникейщик не знает как это сделать). В подобном случае может помочь создание SSH-тунеля.
Данная обработка позволяет создать соединение с удаленным сервером или другим узлом сети напрямую из 1С:Предприятия без использования консоли Linux.
Для реализации подключения нам понадобится SSH сервер с публичным адресом. Схема проста: сервер, куда нам необходимо получить доступ, с помощью внешней обработки соединяется с промежуточным сервером, а системный администратор, используя SSH клиент (для windows подойдет PuTTY), получает доступ порту сервера.
SSH позволяет строить целые цепочки туннелей, соединяя точку входа следующего с точкой выхода предыдущего. Таким образом, чтобы получить туннель с ПК админа на RDP-сервер, при этом оба узла с "серыми" IP-адресами, нам нужно создать два туннеля с промежуточным узлом.
Параметры настройки:
Хост
-
Адрес/порт: адрес и порт сервера, куда необходим доступ;
-
Служебный порт: Промежуточный порт доступа, может отличаться от порта сервера
-
Сокет: например /tmp/session1
Сервер SSH
-
Адрес/порт: адрес и порт промежуточного SSH сервера
-
Пользователь: Пользователь промежуточного SSH сервера
-
Открытый ключ: Открытый ключ RSA для доступа без пароля к SSH серверу
Порядок подключения:
- Подключаем обработку через Дополнительный отчеты и обработки.
- Нажимаем настройки
- Указываем адреса и порты
- Создаем ключ
- Сохраняем параметры
- На промежуточном SSH сервере добавляем ключ и файл доверенных открытых ключей (в случае CentOS это ~/.ssh/authorized_keys)
- Нажимаем включить
- На удаленном рабочем месте выполняем команду plink.exe -N -L ПортНаРабочемМесте:127.0.0.1:СлужебныйПорт root@ПромежуточныйСервер -pw Пароль -no-antispoof
Теперь по адресу 127.0.0.1:ПортНаРабочемМесте нас перенаправит на Адрес/порт хоста
Если взять настройки на скриншотах, то при наборе в браузере http://127.0.0.1/ИмяПубликацииБазы откроется веб клиент 1С:Предприятия
Особенности работы с Windows:
В Windows (до win10) нет встроенных инструментов для работы с SSH, поэтому используется утилита PuTTY plink (включил в обработку как двоичные данные).
Генерацию ключей придется произвести вручную с помощью утилиты puttygen и вставить в соответствующие поля обработки (закрытый ключ из puttygen сначала сохраняем в файл, затем открываем через блокнот и вставляем содержимое в поле обработки "ключ").
Имеется возможность запуска обработки на клиентской машине, чтобы перенаправить соединение, например на сервер RDP в локальной сети. Для этого в адрес хоста указываем адрес или имя RDP сервера в локальной сети (например 192.168.1.15) и порт 3389. В этом случае клиентская машина будет "шлюзом", пока активно соединение или не закроют открывшиеся консольные окна cmd и plink.
Проверено:
Платформа 1С:Предприятие 8.3 (8.3.14.1630)
Версия БСП: 3.0.1.428
PuTTY Release 0.71
Полезная статья: SSH-туннели на службе системного администратора
UPDATE 06.08.2025: Отключена проверка ключа хоста для сервера Linux
UPDATE 07.08.2025: Появилась возможность отслеживания состояния подключения на сервере Windows. Добавлена возможность использования нескольких хостов/портов
Как автор «полезной статьи» выражаю респект за корректную работу с источниками. Кстати, могу предоставить картинку без водяного знака, напишите мне в личку.
Ну так. Инструмент для создания бэкдоров для 1с ников… Осталось это завернуть в обработку «чудо кнопка для бухгалтеров» выполняющую минимально полезное действо, повесить со своей стороны скрипт выгребаший то что интересно и собирать бигдату с них..
(2) Для этого достаточно и HTTP, который реализуется на «чистой» 1С и трафик которого легко пройдет через прокси. SSH не у всех открыт.
root@ПромежуточныйСервер. — лучше заменить на что то специально созданное, вроде: пользователь_ссш_на_промежуточном_сервере@ПромежуточныйСерве р.
Под рутом это делать как то неправильно,ИМХО.
(4) Согласен. В продакшине отдельные юзверы созданы. Скрины просто во время отладки снял.
(2)ну почему. Есть у меня тут один клиент, который открытый 1С в мир не хочет, безопасность хочет, а ставить VPN-клиенты (типа opnvpn или cisco anyconnect )по причине возможно двунаправленного трафика запрещено. Наверное как раз тот «странный» случай. К sshd и двухфакторку типа Google Authenticator прикрутить можно…
Несколько лет назад, делал черезfreesshd проброс RDP на windows, работало стабильно