私は、UrwidフロントエンドとMongoDBバックエンドを持つアプリケーションをPythonで作成しています。最終的な目標は、SSH経由でアプリケーションを提供できるようにすることです。アプリケーションには独自の認証/識別システムがあります。私は各ユーザーのために新しいプロセスを起動するオーバーヘッドについて心配していません、同時ユーザーの予想数は低いです。クライアントは状態情報をリコールせず、代わりにすべてがDBに格納されているので、認証目的以外のセッションについては心配していません。SSH上でPython CLIアプリケーションを提供する
自分のソケットサーバーコードをロールバックしたり、Twistedを使用してアプリケーションを再コードする必要がなく、アプリケーションを提供する方法があるかどうかは疑問でした。私は正直なところ、アーウィッドとツイストが一緒に遊ぶ方法を知らない。 UrwidにはTwistedEventLoopメソッドがあり、Twisted Reactorを使用すると言われていますが、Twisted接続でUrwidアプリケーションを実行するサンプルコードは見つかりません。単純なものであっても、例は理解されるであろう。私もZeroMQを見てきましたが、それはTwistedよりもはっきりしないようです。簡単に言えば、私はtcp上でアプリケーションを提供することを目的とした数多くの異なるライブラリを調査しました。それらのほとんどはtelnetによって提供されています。ほぼすべてがhttpに焦点を当てています。
私は非常にロックされたユーザーをグローバルログインとして作成し、chrootされたSSHセッションを使用することが予想されます。そのようにして各ユーザは自分のchroot/process/clientを取得します。はい、私はそれがおそらく "非常に悪いアイデア(tm)"であることを知っています。しかし、私は可能性としてそこにそれを投げなければならなかった。
私は建設的なフィードバックを感謝します。侮辱、過激さ、傲慢さは、驚かされ、印刷され、吐き出されるでしょう。
-CH
音が面白いです。私はそれを見て、stunnelはsslラッパーを提供することができ、xinetdは接続を処理できます。うーん。ありがとうございました。 – TehCorwiz
これは、合理的かつ手間のかかる方法ですが、「SSL」と「SSH」は同じプロトコルではありません。 – Glyph