Estoy en el proceso de escribir una aplicación con un front-end de Urwid y un back-end de MongoDB en python. El objetivo final es poder servir la aplicación a través de SSH. La aplicación tiene su propio sistema de autenticación/identidad. No estoy preocupado por la sobrecarga de lanzar un nuevo proceso para cada usuario, el número esperado de usuarios simultáneos es bajo. Dado que el cliente no recupera ninguna información de estado y, en cambio, está todo almacenado en la base de datos, no estoy preocupado por las sesiones como tales, excepto con fines de autenticación.Cómo utilizar la aplicación CLI de Python sobre SSH
Me preguntaba si hay algún método para servir la aplicación como es sin tener que rodar mi propio código socket-server o volver a codificar la aplicación usando Twisted. Honestamente, no sé cómo juegan Urwid y Twisted juntos. Veo que Urwid tiene un método TwistedEventLoop que pretende usar el reactor trenzado, pero no puedo encontrar ningún código de ejemplo que ejecute una aplicación Urwid sobre una conexión retorcida. Se apreciarán ejemplos, incluso simples. También miré ZeroMQ pero parece aún más inescrutable que Twisted. En resumen, exploré una serie de bibliotecas diferentes que pretenden servir aplicaciones a través de tcp, la mayoría de ellas por telnet. Y casi todos se centran en http.
Escenario del peor caso Supongo que puedo crear un usuario extremadamente bloqueado como un inicio de sesión global y usar sesiones chuncadas SSH. de esa forma cada usuario obtiene su propio chroot/proceso/cliente. Sí, sé que es probablemente una "Muy mala idea (tm)". Pero tuve que tirarlo como una posibilidad.
Agradezco cualquier comentario constructivo. Los insultos, los insultos y la arrogancia serán fruncidos, impresos y escupidos.
-CH
Suena interesante. Analicé eso, stunnel puede proporcionar un contenedor SSL y xinetd puede manejar las conexiones. Hmmm. Gracias. – TehCorwiz
Esto podría ser un camino razonable y de bajo esfuerzo: sin embargo, tenga en cuenta que "SSL" y "SSH" no son el mismo protocolo. – Glyph