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 na minha .screenrc
screen -t "machine1" 0 ssh user@machine1
screen -t "machine2" 1 ssh user@machine2
screen -t "machine3" 2 ssh user@machine3
Minhas ~/.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 funciona 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 meu xauth parece ignorar completamente o XAUTHORITY
variável de ambiente. Ainda confuso ...
fonte
ForwardX11
quando você quiser usar sessões gráficas. Até onde sei,screen
é apenas baseado em personagens?)ssh -f -N
(em algum script de shell, em vez de usarscreen
) seria uma opção, então pelo menos você pode adicionar algunssleep
comando entre os 3 comandos? Ou talvez mova os 3screen
comandos de.screenrc
em algum script de shell, usandosleep
também?Respostas:
Você já teve o mesmo erro sem
screen
, após a primeira sessão SSH ter sido estabelecida? É estranho que o seu "Se eu remover apenas uma das máquinas [..] funciona corretamente" parece dizer que 2 máquinas funcionam, mas uma terceira gera problemas. E sessh
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 semscreen
Eu acho. E se você mudar a ordem das máquinas?Acho que isso
.Xauthority
arquivo está na máquina remota, mas não sou especialista. (E 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 ninguém mais está usando mesma conta? Deman ssh
:(E você não poderia substituir
screen
comssh -f -N
, ou você está usando o título da tela para poder parar as coisas?fonte