web-dev-qa-db-ja.com

sshX11転送について

私は仕事を始めようとしているかなり奇妙な設定をしています。

コンテナで(Proxmoxを介して)Ubuntuインストールを実行しています。ホストコンピューターはCentOSです。どちらのサーバーもXインスタンスを実行していません。

ホストマシンが物理的にモニターに接続されています。私の最終目標は、ホストからコンテナーにssh -Xを実行し、xbmcを実行してモニターに表示できるようにすることです。

この設定に関するいくつかの質問:

  • ホストにXをインストールする必要がありますか?
  • 「ディスプレイ」(:0:1など)とは正確には何ですか?それらを設定する必要がありますか?
  • 私がやろうとしていることは可能ですか?
4
n0pe
  • Xもホストにインストールする必要がありますよね?

ホストのみにXサーバーがインストールされている必要があり、実行されている必要があります。コンテナにはいくつかのXクライアントライブラリが必要です(xbmcをインストールすると、おそらくこれらが依存関係として取り込まれます)が、Xサーバーは必要ありません。

  • 「ディスプレイ」(:0や:1など)とは正確には何ですか?それらを設定する必要がありますか?

ディスプレイは、特定のサーバーによって管理される別個の(仮想の)画面であり、DISPLAY環境変数はXクライアントに接続方法を指示します。 ssh -Xはそれを自動的に設定します。何もする必要はありません

Xをネイティブに使用して、sshをまったく関与させずにこれを行うことができます。その場合、DISPLAYを適切に設定する必要があります。このような状況では、接続の暗号化によるリソースコストを削減する以外に、特別な利点はありません。

ホストのXサーバー環境内からsshコマンドを実行していない場合は、sshが表示できるように、その端でDISPLAY=:0(または同様のもの)を明示的に設定する必要があります。

  • 私がやろうとしていることは可能ですか?

はい、それはほとんどXプロトコルの目的です。


man sshおよび-Xオプションの詳細については -Y を、man ssh_configオプションの詳細については ForwardX11Trusted を確認する必要があります。あなたの場合、セキュリティ上の懸念は実際には当てはまらない可能性がありますが、確認してください。

特に、ssh -Yは一部の構成で成功率が高くなりますが、リモートエンドにXサーバーへの無制限のアクセスを提供し、ssh -Xはそのようなアクセスの多くを防ぎ、認証を短時間で強制的に期限切れにします。 Xプロトコルはそれほど安全ではなく、アクセスが制限されていないクライアントは、たとえば、他のすべてのクライアントで行われたすべてのキー押下をログに記録できます。

5
Michael Homer