Debian Lenny マシンのリモートデスクトップビュー

Debian Lenny マシンのリモートデスクトップビュー

私のプロジェクト仕様をまとめます。同じLANにWindowsサーバーと複数のDebianクライアントがあり、Debianシステムにはxウィンドウシステムがないため、コマンドラインを使用する必要があります。システムの起動時にQTアプリケーションを実行するため、ユーザーは他の項目を表示する前にGUIとのみ対話します。

私のプロジェクトの要件に応じて、システム管理者はいつでもエンドユーザーがDebianコンピュータで何をしているのかを確認できるようにする必要があります。したがって、エンドユーザーはいつでも画面を表示できるはずです。彼はこれを行うためにWindowsシステムを使用します。それで、Debian画面をWindowsサーバーと共有することが可能かどうか、そしてその内容が何であるか疑問に思います。

これを行うには、DebianコンピュータにVNCサーバーを設定する必要がありますか?別の方法がありますか?

答え1

クライアント側でのみ端末を使用している場合(クライアントホストでどの種類のxserverも実行しないと言われました)、これを達成するために提案する方法は次のとおりです。実際には、リモートホストでターミナルセッションを監視する方法を示す最小限ですが、簡単に拡張可能な例です。私はこれができる特別なソフトウェアを知りません。おそらくこれをよりエレガントにする方法があるでしょうので、あまり期待しないでください。

rootsh私の最初の提案はクライアント側にインストールすることです。

これは、すべてのエコーされたキー入力とターミナル出力をファイルおよび/またはシステムログに記録するシェルの周りのラッパーです。ゲンシーウェブサイト]

残念ながら、Debianリポジトリにはこれが含まれていないため、独自のバイナリを作成する必要があります。 rootshには素晴らしい依存関係がないので、実装するのは簡単です。また、socat双方向データ転送のためのツールが必要です。

rootshのように電話すると

./rootsh -i -f logfile

新しいログインシェルは、そのシェルからターミナルにエコーされるか、サブプロセスに書き込まれるものlogfile(元のttyで使用されている特殊文字と共に)まですべてを開始します。

これで、次のコマンドを使用してクライアントからTCPソケットを作成できます。

socat OPEN:logfile,ioreeof TCP-LISTEN:22222,fork

ここから管理者ホストに関する情報を読むことができます。例えば

 socat TCP:clientdomain:22222 STDOUT

またはnetcatieを使用してくださいtelnet(socatのWindowsバイナリを使用できます)。

ノード間のデータフローをより安全に保つために暗号化するように指示するsocatこともできますOPENSSL。記事でこれの良い説明を見つけることができます。SSLを使用した2つのSocatインスタンス間のトラフィック保護

私のアプローチにいくつかの欠陥があることは認めていますが、特別なツールなしで何ができるかを説明するだけで十分です。

関連情報