Форум сайта python.su
Всем привет!
Возникла потребность встроить в производственный портал возможность подключения к удаленным пользователям по SSH. Удаленные тонкие клиенты крутятся на Linux, на котором поднят сервер openssh.
Портал предоставляет список пользователей, где напротив каждого пользователя будет своего рода button для подключения по SSH во всплывающем окне на самом портале. Это пока что образное описание
Выбор пал на готовый продукт с открытым исходным кодом - webssh.
На github проект собирается в docker, пробрасывается http протокол по 8888 порту. Собственно, через браузер имею доступ к вьюхе и могу подсоединиться к нужному мне пользователю.
Вся задача заключается в том, чтобы вместо предоставленной вьюхи выводить контент соединения в своём фрейме.
Если я правильно понимаю, то webssh сам является и веб-сервером (который генерирует саму страничку) и прокси.
Возможно ли отделить прокси-сервер в отдельный контейнер (подобию тому, как сделали noVNC, вынесших websockify в отдельный проект), и отдельно запускать свою веб-страницу с переданными под капотом данными авторизации?
Может есть у кого какие идеи или примеры встраивания?
P.S. Удалось подобным методом встроить noVNC. Имею пример, поэтому, хотелось бы так же встроить webssh.
Офлайн
alexanderzhirovА почему именно webssh?
Имею пример, поэтому, хотелось бы так же встроить webssh.
Отредактировано py.user.next (Дек. 9, 2022 11:27:45)
Офлайн
py.user.next
Так что забей на эту херню, он тебе не ответит.
Офлайн
Вообще, там три части должно быть.
1. Ядро с API в HTTP-протоколе, которому можно ставить задачи.
2. Манипулятор в виде JavaScript-функций для управления ядром из пункта 1.
3. Страничка в HTML для соединения пользователя и манипулятора из пункта 2.
Пользователь обращается к страничке и через неё посылает задачу манипулятору. Манипулятор берёт задачу от пользователя, переводит её в задачу ядру и посылает эту задачу ядру через API. Ядро отвечает манипулятору на задачу от манипулятора, а манипулятор отвечает пользователю на задачу от пользователя.
Сессии сохраняются ядром где-нибудь там внутрях. Это инкапсулировано в области видимости ядра по принципу чёрного ящика.
alexanderzhirovЭто не фронтенд.
Я пока не сталкивался с фронтендом
Офлайн
py.user.next
Вообще, там три части должно быть.
1. Ядро с API в HTTP-протоколе, которому можно ставить задачи.
2. Манипулятор в виде JavaScript-функций для управления ядром из пункта 1.
3. Страничка в HTML для соединения пользователя и манипулятора из пункта 2.
Офлайн