Я пытаюсь запустить экранную сессию и подключение к трем различным машинам с тем же пользователем.
Вот то, что я имею в моем .screenrc
screen -t "machine1" 0 ssh user@machine1
screen -t "machine2" 1 ssh user@machine2
screen -t "machine3" 2 ssh user@machine3
Мой ~/.ssh/config
содержит
ForwardX11 yes
Я получаю следующую ошибку в терминалах machine2
и machine3
.
Warning: No xauth data; using fake authentication data for X11 forwarding
/usr/X11/bin/xauth: error in locking authority file /home/user/.Xauthority
Если я удаляю только одну из машин от моего .screenrc, он работает правильно.
Как я могу избежать этой ошибки и подключения к нескольким машинам с экрана.
Править: Пользователь домашний dir находится на NFS и блокировке, не работает правильно с NFS. Для хитрости этого, я очень старался или иметь файл XAuthority в локальной файловой системе (/tmp) или иметь один файл на ssh. Я не справился, так или иначе мой xauth, кажется, полностью игнорирует XAUTHORITY
переменная среды. Все еще puzzeled...
/usr/X11/bin/xauth: error in locking authority file /home/user/.Xauthority
Вы когда-либо получаете ту же самую ошибку без screen
, после того, как первая сессия SSH была установлена? Это нечетно, что Ваш, "Если я удаляю только одну из машин [..] это работает правильно", кажется, говорит, что 2 машины работают, но 3-и проблемы урожаев. Если ssh
поддержки несколько соединений X-forwarded, затем это мог бы просто быть вопрос выполнения вещей более медленно? Это может лучше всего быть протестировано без screen
Я предполагаю. И что, если Вы изменяете порядок машин?
Это предполагает что это .Xauthority
файл находится на удаленной машине, но я не эксперт. (Если /home/user
в Вашем вопросе был на самом деле более определенный каталог, затем можно, вероятно, легко сказать, локально ли это или удаленно.) Так, нечетный вопрос: действительно ли Вы уверены, что все 3 машины являются действительно различными машинами, и что никто еще не использует ту же учетную запись? От man ssh
:
ssh
также автоматически настроит данные Xauthority по машине сервера. С этой целью это генерирует случайный cookie авторизации, сохранит его в Xauthority на сервере и проверит, что любые переданные соединения несут этот cookie и заменяют его реальным cookie, когда соединение открыто. Реальный cookie аутентификации никогда не отправляется на машину сервера (и никакие cookie не отправляются в плоскости).
(И не могли Вы заменять screen
с ssh -f -N
, или Вы используете заголовок экрана, чтобы смочь остановить вещи?)