VNCとSSH -Xの違い

VNCとSSH -Xの違い

.NETの代わりにVNC(またはNX)を使用する理由は、ssh -X (-Y)VNCがより少ない帯域幅を使用すると読んでいましたが、さまざまなツール間に異なる違い/利点がありますか?

答え1

帯域幅と待ち時間の問題(多少異なる場合があります)を除いて、最大の違いは提供される機能です。

VNCはセッション全体、デスクトップなどをエクスポートしますが、sshは単一のプログラムを実行し、そのウィンドウをワークステーションに表示します。

VNC サーバーは、画面が切断されても持続するセッションをエクスポートし、後ですべてのウィンドウを開いた状態で再接続できます。 Xサーバーがダウンするとウィンドウが消えるので、SSH Xトンネルではこれは不可能です。

答え2

ssh -XX11 コマンドをローカル X サーバーにリダイレクトします。したがって、プログラムをローカルで実行するのと同じですが、実際には反対側のコンピュータで実行されています。それ非常に帯域幅が多いため、遅くなります。 (人々がX11が「ネットワーク透明」と言うとき、これが意味するものです。)

代わりに、VNCや他のリモートデスクトップアプリケーションを使用すると、他のコンピュータからすべてのグラフィック描画などを処理し、本質的にスクリーンショットをキャプチャしてコンピュータに再送信できます。すべてを表示するのに必要な情報がはるかに少ないので、はるかに高速に見えます。ただし、個々のアプリケーションではなくデスクトップ全体も送信します。

ssh -X1つの簡単な理由で、インターネット経由での使用はお勧めできません。〜する利用可能なすべての帯域幅を使用します。私の考えはLANで非常に便利なので、1つのアプリケーションだけが必要で、デスクトップ全体を実行したくない場合は良いアプローチです。それ以外の場合はVNCを使用してください。

答え3

VNCはリモートシステムのデスクトップ全体を共有します。リモートシステムには完全なデスクトップが必要です。

ssh -Xを使用すると、リモートサーバー上で単一のXアプリケーションを実行できます。リモートシステムはデスクトップ全体を実行する必要はなく、通常はリモートシステムにいくつかのパッケージをインストールするだけです。

ssh -Xリモート接続を介して複雑なパッケージをインストールする場合に非常に便利です。一部のソフトウェア製品では、GUIインストーラ(Oracle Databaseなど)を使用できます。リモートサーバーに完全なGnomeデスクトップをインストールしたくありません。したがって、リモートサーバーに1つまたは2つのX11パッケージ(Xauth?)をインストールし、「ssh -X /media/cdrom/oracle-installer」などの簡単なコマンドを使用して、DBAがリモートでOracleインストーラを実行できるようにします。 。

答え4

VNCまたはNX(X2Go)を使用すると、セキュリティ上の利点もあります。悪意のあるアプリケーションはスクリーンショットを撮ったり、キーロガーを使用して実際のデスクトップにキーを記録したりすることはできませんが、悪意のあるアプリケーションがバックグラウンドで実行されている場合でも、X11配信でSSHを使用する可能性があります。

SSH -X(または-Y)を使用している場合は、アプリケーション(公式のLinuxディストリビューションのオープンソースアプリケーションなど)を信頼したり、実行中に機密な操作を実行したりしないでください。

次のクロスプラットフォームとオープンソースツール(LXCコンテナでテスト)を使用してこれを確認できました。

https://github.com/lxqt/screengrab

https://github.com/GiacomoLaw/Keylogger

関連情報