回答:
これを行うにはいくつかの方法がありますが、私が好むのはsshポートを転送することです:
最初に、マシンBに接続し、[localPort]をB経由でC:22に転送します
A$ ssh -L [localPort]:C:22 B
次に、[localPort]を使用してこの新しく作成されたトンネルを介してAからCに接続し、X11を転送します
A$ ssh -X -p [localPort] localhost
これで、CでX11プログラムを実行し、Aに表示させることができます。
C$ xclock
[localPort]は、Aでまだリッスンしていない任意のポートにすることができます。簡単にするために、2222をよく使用します。
これは、ポート転送を使用して簡単に実現できます。
A$ ssh -NL 2022:C:22 B &
A$ ssh -X -p 2022 localhost
C$ xclock
ポートlocalhost:2022はB経由でC:22に転送されますlocalhost:2022経由でCにSSH通常どおりXを使用します
問題は、中央のマシンにはXがないが、そうでなければX11の転送を許可するように構成されていることで、xauthをインストールするだけです。
yumベースのシステム(fedora、redhat、centos):
B$ sudo yum install xauth
aptベースのシステム(debian、ubuntu):
B$ sudo apt-get install xauth
yum
pi を持っていますか?
使用しているsshdでX11Forwardingが無効になっている場合、X11ディスプレイを転送できません。
man sshd_config:
X11Forwarding
Specifies whether X11 forwarding is permitted. The argument must be “yes”
or “no”. The default is “no”.
宛先および使用しているすべての中間sshdでX11Forwardingが有効になっていることを確認する必要があります。
ほんの小さなヒント:VNCを使用する必要があります。X11ディスプレイ転送は帯域幅を大量に消費します。
yes
」です。