Назад | Перейти на главную страницу

SSH X11 застрял надолго

Я обычно запускаю кучу экспериментов (скрипты Perl) на своих лабораторных машинах. Клиентская машина, на которой я сейчас провожу свои эксперименты, работает под управлением Ubuntu 14.04.5 LTS.

Эти сценарии perl, помимо прочего, передают ssh другим машинам в сети для сбора данных network / vmstats. Они работали нормально, пока недавнее обновление (на стороне клиента) что-то не сломало, из-за чего скрипты выполнялись исключительно медленно, со следующим сообщением об ошибке, генерируемым для каждого ssh команда в скрипте:

Warning: No xauth data; using fake authentication data for X11 forwarding.

Когда я включил -vvv уровень входа в мои команды ssh, они показывают следующее:

debug1: Entering interactive session.
debug2: callback start
debug2: x11_get_proto: /usr/bin/xauth  list unix:10.0 2>/dev/null
***[HANGS FOR 20-30 SECONDS]***
Warning: No xauth data; using fake authentication data for X11 forwarding.

Я прочитал все обсуждения SO и других форумов, которые я мог найти, связанные с "медленным интерактивным сеансом" и предупреждением xauth, но ни одно из решений действительно не сработало.

Я также сомневаюсь, что какая-либо из этих конкретных ситуаций применима ко мне, в основном потому, что я могу без проблем получить сеанс ssh, идущий с клиентской машины на сервер - это ssh из сценариев perl, которые имеют проблему.

Я проверил переменную DISPLAY env, и она правильно передает ее на сервер X11 (вот результат):

echo $DISPLAY
localhost:10.0

xauth тоже работает. Я создал игрушечный Perl-скрипт, вызываемый изнутри скрипта оболочки (чтобы попытаться имитировать то, что происходит в моих лабораторных экспериментах), и он работает нормально без проблем. Вот мои скрипты игрушек:

mary.sh
   #!/bin/sh
   printenv
   test.pl | & tee STDOUT-MARY
test.pl
   !/usr/bin/perl
   system "ssh -vvv <serverIP> 'cat vmstat.log' >> vmstat.mary < /dev/null\n";

Вот вещи, которые я также пробовал (предложения из обсуждений SO и т. Д.):

  1. Добавление DISPLAY в Acceptenv список в /etc/ssh/sshd_config
  2. Удалить MOTD из /etc/pam.d/login и sshd файлы
  3. удалять landscape-client

Я совершенно не понимаю, почему это происходит и как я могу это исправить. Из-за этой проблемы мои лабораторные эксперименты продолжаются намного дольше, чем следовало бы. Любая помощь по этому поводу приветствуется. Если вам понадобится дополнительная информация для диагностики проблемы, я буду рад ее предоставить.

Спасибо.

Попробуйте использовать ssh -Y

страница руководства по ssh

-Y      Enables trusted X11 forwarding.  Trusted X11 forwardings are not subjected to the X11 SECURITY extension controls.