Как обслуживать приложение Python CLI через SSH

Я сейчас пишу приложение с интерфейсом Urwid и серверной частью MongoDB на python. Конечная цель - иметь возможность обслуживать приложение через SSH. Приложение имеет собственную систему аутентификации / идентификации. Меня не беспокоят накладные расходы на запуск нового процесса для каждого пользователя, ожидаемое количество одновременных пользователей невелико. Поскольку клиент не вспоминает никакой информации о состоянии, а вместо этого вся она хранится в БД, я не беспокоюсь о сессиях как таковых, за исключением целей аутентификации.

Мне было интересно, есть ли какие-либо методы обслуживания приложения без мне приходится использовать собственный код сокет-сервера или перекодировать приложение с помощью Twisted. Честно говоря, я не знаю, как Урвид и Твистед играют вместе. Я вижу, что у Urwid есть метод TwistedEventLoop, который подразумевает использование витого реактора, но я не могу найти ни одного примера кода, запускающего приложение Urwid через витое соединение. Приветствуются примеры, даже самые простые. Я также посмотрел на ZeroMQ, но он кажется даже более загадочным, чем Twisted. Короче говоря, я исследовал ряд различных библиотек, которые предназначены для обслуживания приложений через tcp, большинство из них через telnet. И почти все они сосредоточены на http.

В худшем случае, я ожидаю, что я могу создать крайне заблокированного пользователя в качестве глобального входа в систему и использовать chrooted-сессии SSH. таким образом каждый пользователь получает свой собственный chroot / процесс / клиент. Да, я знаю, что это, вероятно, «очень плохая идея (тм)». Но мне пришлось выбросить это как возможность.

Я ценю любую конструктивную обратную связь. На оскорбления, упреки и высокомерие будут хмуриться, распечатывать и плевать.

-CH

5
задан TehCorwiz 19 August 2011 в 03:12
поделиться