Dlaczego po pewnym czasie upłynął limit czasu przekazywania ssh X?

26

Więc mam Maca w pracy, który lubię ssh do mojego Linux-a z czymś takim:

$ ssh -Xt user@mylinux

Mogę się zalogować i uruchomić dowolne aplikacje X11 na moim Linux-ie bez problemu. Ale po około 15 minutach wracam do sesji (ssh nadal działa i jest połączony) i otrzymuję:

$ xterm 
xterm Xt error: Can't open display: localhost:12.0

Próbowałem użyć -o "TCPKeepAlive yes"lub -o "ServerAliveInterval 30", ale nadal mam takie samo zachowanie.

Czy jest coś w ssh, na Macu lub w moim linuksowym sshd conf, który zabija przekazywanie X po okresie bezczynności?

Larry Kyrala
źródło
Czy serwer X nadal działa? Czy istniejące aplikacje X giną?
Ignacio Vazquez-Abrams
(skomentuje odpowiedź Boba z 18.11.2012, ale nie pozwoli mi to jeszcze) Zobacz także unix.stackexchange.com/questions/107547/…, w której stwierdziliśmy, że nie można (w 2019 r.) wyłączyć tego limitu czasu, ale możesz to przedłużyć. Maksymalny limit czasu to uint_max milisekund minus pewien luz, nieco ponad 24 dni. OpenSSH_7.4p1 zaakceptuje ssh -o ForwardX11Timeout=2147423s -X ...najlepszą odpowiedź, jaką mogę teraz udzielić . Przesunięcie do przodu X11 powyżej może spowodować awarię XServer w niektórych kombinacjach wersji. Na MacOS z XQuartz widziałem `Warni
mcast

Odpowiedzi:

27

Domyślnie ForwardX11Timeoutjest to 20 minut ssh -X, ale możesz ustawić na coś dużego (np. 7dNa 7 dni) w.ssh/config

„Zaufane” przekazywanie X11 przez ssh -Yfaktycznie umożliwia potencjalnie nieprzyjemne rzeczy, takie jak monitorowanie naciśnięć klawiszy i przechwytywanie ekranu.

Kok
źródło
3
man ssh_configdla tej dokumentacji opcji :)
drAlberT
19

Za pomocą -X, przekazywanie X11 jest włączone w trybie „Niezaufanym”, z wykorzystaniem różnych rozszerzeń bezpieczeństwa X11, w tym ograniczonego czasowo pliku cookie Xauth.

Użyj, -Yaby włączyć tryb „Zaufany” dla X11, który umożliwi pełny dostęp do twojego serwera X11.

grawitacja
źródło