Mam hosty A, B i C. Z hosta AI może uzyskać dostęp tylko przez ssh B. Z BI może uzyskać dostęp do C. Chcę mieć możliwość uruchamiania programów X11 na C i przesyłania dalej do A.
Próbowałem tego:
$ Ssh -XB B $ ssh -XC C $ xclock Błąd: Nie można otworzyć wyświetlacza:
Ale to nie działa.
Można to łatwo osiągnąć za pomocą przekierowania portów:
Port localhost: 2022 jest przekazywany do C: 22 przez B SSH do C przez localhost: 2022 Użyj X jak zwykle
źródło
Zakładając, że problem polega na tym, że środkowa maszyna nie ma X, ale skonfigurowana w inny sposób, aby umożliwić przekazywanie X11, wystarczy zainstalować xauth.
w systemie opartym na yumie (fedora, redhat, centos):
w systemie opartym na apt (debian, ubuntu):
źródło
yum
na pi?W przypadku nowszych wersji opensshd musisz wyłączyć,
X11UseLocalhost
aby to działało.Musisz to zrobić na hoście C
/etc/ssh/sshd_config
i zrestartować sshd, aby to działało:źródło
Nie możesz przekierować wyświetlacza X11, jeśli masz wyłączone X11 Forwarding w dowolnym używanym sshd.
man sshd_config:
Musisz upewnić się, że X11 Forwarding jest włączony w miejscu docelowym i wszystkich używanych pośrednich sshds.
Tylko mała wskazówka: powinieneś spróbować użyć VNC, przekierowanie wyświetlania X11 wymaga dość dużej przepustowości.
źródło
yes
”.Jeśli często przechodzisz z punktu A do C, możesz skonfigurować B jako serwer proxy:
A:~/.ssh/config
:to po prostu:
źródło
Próbowałeś już z
Flaga -Y „Włącza zaufane przekazywanie X11”.
źródło