Yanıtlar:
Bunu yapmanın birkaç yolu var, tercih ettiğim ssh portunu yönlendirmek:
İlk önce, makine B'ye bağlayın ve [localPort] 'ı C: 22 - B arasında iletin
A$ ssh -L [localPort]:C:22 B
Daha sonra, [localPort] kullanarak, X11 ileterek bu yeni oluşturulan tünelden A'dan C'ye bağlanın
A$ ssh -X -p [localPort] localhost
Şimdi X11 programlarını C üzerinde çalıştırabiliriz ve A üzerinde göstermelerini sağlayabiliriz.
C$ xclock
[localPort] zaten A'da dinlemediğiniz herhangi bir bağlantı noktası olabilir, basitlik için genellikle 2222 kullanıyorum.
Bu, port yönlendirme kullanarak kolayca gerçekleştirilebilir:
A$ ssh -NL 2022:C:22 B &
A$ ssh -X -p 2022 localhost
C$ xclock
Port localhost: 2022, B SSH ile C: 22'ye, localhost: C ile iletilir: 2022 Normal olarak X kullanın
Sorunu varsayalım, orta makinede X yoktur, ancak X11'in iletilmesine izin vermek için yapılandırılmışsa, sadece xauth'u kurun.
yum tabanlı bir sistemde (fedora, redhat, centos):
B$ sudo yum install xauth
apt tabanlı bir sistemde (debian, ubuntu):
B$ sudo apt-get install xauth
yum
bir pi üzerinde var mı?
Yeni sürümler opensshd X11UseLocalhost
için bunun çalışması için devre dışı bırakmanız gerekir .
Bunu Host /etc/ssh/sshd_config
C'lerde yapmanız ve bunun çalışması için sshd'yi yeniden başlatmanız gerekir:
X11Forwarding yes
X11UseLocalhost no
Kullanmakta olduğunuz herhangi bir sshd'de X11Forwarding devre dışı bırakılmışsa, X11 ekranını iletemezsiniz.
adam sshd_config:
X11Forwarding
Specifies whether X11 forwarding is permitted. The argument must be “yes”
or “no”. The default is “no”.
Hedefte ve kullandığınız tüm ara kodlarda X11Forwarding'in etkin olduğundan emin olmalısınız .
Sadece küçük bir ipucu: VNC kullanmaya çalışmalısınız, X11 ekran iletimi oldukça bant genişliği tüketiyor.
yes
" dır .