ssh de dentro da tela GNU não funciona corretamente

2

Eu tento iniciar uma sessão de tela e conectar-me a três máquinas diferentes com o mesmo usuário.

Aqui está o que eu tenho no meu .screenrc

screen -t "machine1" 0 ssh user@machine1
screen -t "machine2" 1 ssh user@machine2
screen -t "machine3" 2 ssh user@machine3

Meu ~/.ssh/config contém

ForwardX11 yes

Eu recebo o seguinte erro nos terminais de machine2 e machine3 .

Warning: No xauth data; using fake authentication data for X11 forwarding
/usr/X11/bin/xauth: error in locking authority file /home/user/.Xauthority

Se eu remover apenas uma das máquinas do meu .screenrc, ele funcionará corretamente.

Como posso evitar esse erro e conectar-me a várias máquinas a partir da tela.

EDITAR : O diretório inicial do usuário está no NFS e o bloqueio não funciona corretamente com o NFS. Para contornar isso, eu tentei muito ter o arquivo XAuthority em um sistema de arquivos local (/ tmp) ou ter um arquivo por ssh. Eu não consegui, de alguma forma o meu xauth parece ignorar completamente a variável de ambiente XAUTHORITY . Ainda confuso ...

    
por user1863 09.11.2009 / 15:19

1 resposta

1
/usr/X11/bin/xauth: error in locking authority file /home/user/.Xauthority

Você já teve o mesmo erro sem screen , depois que a primeira sessão SSH foi estabelecida? É estranho que o seu "Se eu remover apenas uma das máquinas [..] funcione corretamente" parece dizer que 2 máquinas funcionam, mas uma terceira gera problemas. Se ssh suporta múltiplas conexões X-forwarded, então pode ser apenas uma questão de fazer as coisas mais devagar? Isso pode ser melhor testado sem screen eu acho. E se você mudar a ordem das máquinas?

Acho que esse arquivo .Xauthority está na máquina remota, mas não sou especialista. (Se /home/user na sua pergunta era de fato um diretório mais específico, então você provavelmente pode facilmente dizer se é local ou remoto.) Então, pergunta estranha: você tem certeza de que todas as 3 máquinas são realmente diferentes e que não? mais alguém está usando a mesma conta? De man ssh :

ssh will also automatically set up Xauthority data on the server machine. For this purpose, it will generate a random authorization cookie, store it in Xauthority on the server, and verify that any forwarded connections carry this cookie and replace it by the real cookie when the connection is opened. The real authentication cookie is never sent to the server machine (and no cookies are sent in the plain).

(E você não pode substituir screen por ssh -f -N , ou você está usando o título da tela para poder parar as coisas?)

    
por 10.11.2009 / 09:45