LINUX.ORG.RU
ФорумAdmin

Подключение через ssh только к уже запущенному приложению и работа с ним.

 


0

2

Собственно сабж. Нужно дать пользователю доступ через ssh к уже запущенному от его имени и работающему в фоне приложению. Пользователь должен проверить выхлоп программы, ввести некоторые данные и отключившись (приложение остаётся работать) от ssh пойти по своим делам. Т.е. доступ должен быть только к приложению, а не к шеллу. Как реализовать? Вроде в /etc/passwd можно вместо шелла задать приложение которое будет запускаться после успешного логина в систему, но не совсем понимаю как делать attach\detuch.

Ответ на: комментарий от vvn_black

Плюсую. Ответом на заголовок будет «использовать терминальный мультиплексор», но на пост целиком «стой, нет, ничего не трогать и позвать программиста».

t184256 ★★★★★
()

к уже запущенному

Запущенному кем? Если системой, то получается, что вам нужен демон с «мордой».

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Ответ на: комментарий от vodz

на той машине, с которой он будет коннектится, на машине, где работает они будут не нужны

Заставили меня улыбнутсья. Откуда такая уверенность? ) Расскажите сценарии использования мультиплексоров?

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

А разьве скрине и тмуксе нельзя просто «прибить» приложение и попасть обратно в шелл?

anonymous
()
Ответ на: комментарий от anonymous

Можно.

Вопрос в заголовке: «Подключение через ssh только к уже запущенному приложению и работа с ним.»

Вопрос в ОП: «но не совсем понимаю как делать attach\detuch».

Скрин|тмукс как раз подходят.

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

Заставили меня улыбнутсья. Откуда такая уверенность?

Чтож вы так поспешили отвечать? ;) Я это вычистил из ответа, так как понял, что полностью донести мысль толком не получится: если пользователь сам запускает, то получается он вместо того, чтобы запустить приложение, запускает screen, пусть и с командой. Если это будет shell-ом, то пользователь никак не сможет заранее узнать, запущено или нет, была ли перезагрузка. То есть ему нужен screen там ОТКУДА он запускал последний раз :)

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Ответ на: комментарий от vvn_black

Не подходят. Из них свободно запускается отдельный шелл.

По теме.

Твое приложение должно уметь общаться с юзером. Например, через веб морду, авторизация, выхлоп и команды - через обычный браузер. Далее генеришь ключи для ssh, чтобы входить без пароля, пользователю ставишь в качестве шелла /sbin/nologin, запускаешь ssh c перенаправлением портов, в браузере http://localhost:8080 и попадаешь в свое приложение.

Bobby_
()
Ответ на: комментарий от Bobby_

Еще можно прилагу запускать через sudo .

То есть дать ssh доступ юзеру A, который подключается к tmux, там запускает через sudo прогу от юзера B.
Конечно, можно стартануть новую сессию в tmux, но тогда опять же получит шелл от А.
Шелл А можно всячески ограничить, выпилить энторнеты и сделать хомяк R/O.

Bers666 ★★★★★
()
Ответ на: комментарий от Bers666

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

Bobby_
()

Поднимите «толстый» Docker контейнер с параметром --init, запихните туда SSH сервер и само приложение. Вывесите SSH на отличный от 22 порт, чтобы не конфликтовать с хостом.

zuzzas
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.