Нужна помощь в настройке SSH туннеля для клиента 1С

Приветствую Всех и прошу помощи у знающих людей.

Суть проблемы такая, изучаю возможность подключения через интернет клиента 1С Бухгалтерии по SSH туннелям.


Дано:

Сервер 1С (Linux)

Компьютер в локалке с этим сервером, и с доступом к нему из вне по SSH (Linux)

Клиент с интернетом  (Windows)


Что по теории:

Гипотетически через SSH туннель можно пустить любой TCP трафик, для этого нужно лишь правильно настроить промежуточный узел, и поднять до него туннель. SSH туннель по Windows буду поднимать с помощью plink или putty.

Для работы 1С клиента используются TCP порты 1540, 1541, 1560-1591

netstat на сервере 1С выдает, что прослушиваются три порта 1540, 1541, 1560


Что по практике:

Настраиваю промежуточный узел, в sshd_config устанавливаю PermitTunnel yes

Настраиваю клиент Windows

plink.exe -N -L 1540:IP_1C_SERVER:1540 -L 1541:IP_1C_SERVER:1541 -L 1560:IP_1C_SERVER:1560 IP_MID_COMP user@MID_COMP

В 1С в настройках базы указываю сервер localhost. Проверяю что в hosts есть запись 127.0.0.1 localhost.

Поднимаю туннель и пробую запускать 1С, и получаю:

Ошибка определения принадлежности клиентского и серверного процессов одному компьютеру

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


Пытался найти корень проблемы самостоятельно но интернет не дает вразумительных пояснений по данной ошибке, везде где упоминается данная ошибка предлагается прописать ip сервера в hosts в ручную, но это не имеет смысла потому как у меня уже есть запись 127.0.0.1 localhost.

Было подозрение, что клиенту 1С не нравится обращение к localhost потому, что он сам что то там поднимает. Поднял виртуальный петлевой интерфейс на клиенте и настроил все на него.

plink.exe -N -L 10.0.0.1:1540:IP_1C_SERVER:1540 ...

Поднял туннель и получил тот же результат.

Ошибка определения принадлежности клиентского и серверного процессов одному компьютеру

Тут у меня тупик. Есть предположения что это?

Понимаю, что изобретаю велосипед, но так надо. Получится ли?


Хочу сразу оговориться, я "не первый год замужем", потому прекрасно знаю как это можно решить по другому, но в силу определенных условий и обстоятельств интересно именно этот вариант решения. Если Вам есть что предложить - добро пожаловать в комментарии.

Лига Сисадминов

1.5K постов17.7K подписчиков

Добавить пост

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Зачем? Интересно просто. Не будет ли она глючить как с RemootAPP. Год назад точно проблемы были с всплывающими окнами в типовых конфигурациях. Если у тебя получится отпишешь инструкцию, если не жалко? Мне для общего развития. И да еще вопрос. А не достаточно ли пробросить саму платформу, а там уже добавлять КС-базу? В том смысле, что по SSH не нужно серверные порты кидать.

раскрыть ветку (8)
Автор поста оценил этот комментарий
Если у тебя получится отпишешь инструкцию, если не жалко?

В общем пока получилось пробросить по ssh туннелю только X11. На промежуточной машине был водружен клиент 1С под линукс, на виндовом клиенте поднял связку putty + VcXsrv. В настройках линукса sshd_conf указал ForwardX11 yes. На виндовой машине в настройках putty указал Enable X11 и запуск команды /opt/1cv8/x86_64/8.3.22.1704/1cv8.

Запускаю VcXsrv потом сеанс putty, все, 1с-ка открывает окна можно работать.


Не совсем то, что я хотел, но это хотя бы работает.

раскрыть ветку (2)
Автор поста оценил этот комментарий

А чем не устраивает клиент 1С на сервере? Тогда можно было бы не городить промежуточную машину. Я из поста просто не понимаю, что ты хотел сделать. Можешь на примере "У Пети было 5 яблок, одно откусил, сколько осталось?" объяснить. Я понял так, что есть клиент с WIN и установленной платформой. Требуется запустить 1С-ку на клиенте с развернутой базой на сервере? И чтобы запускалась сама база, минуя список баз?

раскрыть ветку (1)
Автор поста оценил этот комментарий
Я из поста просто не понимаю, что ты хотел сделать.
#comment_258648639
Требуется запустить 1С-ку на клиенте с развернутой базой на сервере? И чтобы запускалась сама база, минуя список баз?

нет

Автор поста оценил этот комментарий
А не достаточно ли пробросить саму платформу, а там уже добавлять КС-базу?

Можно чуть подробнее? Не понял.

раскрыть ветку (4)
4
Автор поста оценил этот комментарий

Можно даже без putty, если win10. В командной строке

1.)  set DISPLAY=127.0.0.1:0.0

2.) ssh -Y user@servername_IP '/opt/1cv8/x86_64/8.3.22.1704/1cv8'

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Сейчас не могу проверить, но похоже совет дельный.

1
Автор поста оценил этот комментарий

В конфиге SSH только X11Forwarding yes (Все остальное по дефолту). Проверить на установку sudo apt install xauth xfonts-base. Далее запускаем Putty с параметром ниже. Потом переходим в каталог установленной 1С и запускаем ./1cv8.

Иллюстрация к комментарию
1
Автор поста оценил этот комментарий
Имеется ввиду через тунель с помощью x11 пробросить вызов самой платформы с сервера 1с, что немного странно, обычно клиентскую часть туда не загоняют...
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку