Сервер Cygwin XWin случайно теряет соединение

Я использую cygwin для ssh в удаленной Linux-системе и использую сервер cygwin XWin для отображения приложений с графическим интерфейсом.

При первом подключении к удаленному компьютеру отображаются следующие предупреждения:

Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.

Несмотря на предупреждения, XWin поначалу работает отлично. Через некоторое время (обычно около 15 минут) он неизбежно теряет связь. Значок сервера cygwin X по-прежнему отображается на панели задач Windows, поэтому я знаю, что он все еще работает. Пока единственный обходной путь, который я нашел, - это выйти из системы, а затем снова войти по ssh. Супер раздражает! Пожалуйста помоги!

gvim и xterm не работают, потому что перестал работать XWin

Спасибо,

-Дерек


person derekswanson08    schedule 07.11.2012    source источник
comment
Использование ssh -Y вместо ssh -X, похоже, решило проблему, хотя я все еще скрещиваю пальцы.   -  person derekswanson08    schedule 08.11.2012


Ответы (3)


Я исправил проблему, используя:

ssh -Y user@server 

вместо

ssh -X user@server

По-видимому, флаги -Y и -X делают одно и то же (включают пересылку X11). Разница в том, что -X использует безопасный режим, а -Y использует доверенный режим. Используйте -Y только в том случае, если вы доверяете машине, к которой подключаетесь. Если вы используете -X, то удаленная машина будет ограничена в том, что она может делать с вашим дисплеем. Для меня это означало, что мой дисплей отключится через некоторое время. Используя -Y вместо этого, мое соединение никогда не истекает.

person derekswanson08    schedule 08.11.2012

tl;dr используйте ssh -Y

Начиная с openssh 5.6, когда вы подключаетесь с помощью ssh -X, запрашивая ненадежное соединение, применяется значение ForwardX11Timeout (которое по умолчанию равно 20 минутам), даже если ненадежная настройка пересылки X11 не удалась и было установлено доверенное соединение. (Я не могу найти объявления об этом изменении, но см. [1] для соответствующего изменения кода).

Этот тайм-аут является частью политики «безопасности», которую вы запрашиваете при использовании ssh -X, и предотвращает новые подключения к X-серверу после истечения тайм-аута.

Если вы добавите параметр -v к ssh, который часто бывает полезен при исследовании проблем с ssh, вы должны получить сообщение «Отклонено соединение X11 после истечения срока действия ForwardX11Timeout» при попытке запустить новый клиент.

[1] http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/clientloop.c.diff?r1=1.220;r2=1.221;f=h

person jturney    schedule 20.02.2013

когда я читаю «удаленный», я думаю о брандмауэре. Может быть, у вас есть таймер бездействия в сеансе ssh, из-за которого он через некоторое время «сбрасывается»? Если это так, вы найдете следы этого в различных журналах (сервер и брандмауэр). Если нет, и это просто общая проблема стабильности cygwin-X, вы можете рассмотреть возможность использования virtualbox | vmware и дистрибутив linux по вашему выбору на вашем windows-box. Если вы используете «nat» в качестве ethernet-устройства, оно будет использовать ваш IP-адрес Windows; если вам нужно ssh «в» ваш VM-Guest, вы можете настроить окна для передачи входящего tcp/22 в стек VM-Guest. (не будет работать, если вы используете sshd от cygwin на tcp/22) ; еще удачи//ри

person rhi    schedule 07.11.2012