Форум сайта 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.
Офлайн
Gate One - это веб-интерфейс для SSH и терминалов. Он также предоставляет API для встраивания в другие приложения. Возможно, его структура и подход будут более удовлетворительными для ваших потребностей.
watermelon game
Офлайн
Это веб-интерфейс Gate One, который используется как для SSH, так и для терминалов. Кроме того, он предлагает API, который можно встроить в приложения. Возможно, вам больше понравится его структура и подход.
spend elon musk money
Офлайн
Да, вы правильно поняли. Поскольку WebSSH включает в себя как веб-сервер, так и прокси, можно разделить их на два отдельных контейнера и затем интегрировать их в ваш производственный портал.
that's not my neighbor
Офлайн