Intento iniciar una sesión de pantalla y conectarme a tres máquinas diferentes con el mismo usuario.
Esto es lo que tengo en mi .screenrc
screen -t "machine1" 0 ssh user@machine1
screen -t "machine2" 1 ssh user@machine2
screen -t "machine3" 2 ssh user@machine3
Mi ~/.ssh/configcontiene
ForwardX11 yes
Me sale el siguiente error en los terminales de machine2y machine3.
Warning: No xauth data; using fake authentication data for X11 forwarding
/usr/X11/bin/xauth: error in locking authority file /home/user/.Xauthority
Si elimino solo una de las máquinas de mi .screenrc, funciona correctamente.
¿Cómo puedo evitar este error y conectarme a varias máquinas desde la pantalla?
EDITAR : El directorio de inicio del usuario está en NFS y el bloqueo no funciona correctamente con NFS. Para evitar esto, intenté tener el archivo XAuthority en un sistema de archivos local (/ tmp) o tener un archivo por ssh. No lo logré, de alguna manera mi xauth parece ignorar por completo la XAUTHORITYvariable de entorno. Todavía desconcertado ...
ssh
xorg
gnu-screen
usuario1863
fuente
fuente

ForwardX11cuando quieres usar sesiones gráficas. Hasta donde yo sé, ¿screenestá basado en personajes?)ssh -f -N(en algún script de shell, en lugar de usarscreen) sería una opción, ¿al menos puede agregar algúnsleepcomando entre los 3 comandos? ¿O tal vez mover los 3screencomandos desde.screenrcalgún script de shell, también usandosleep?Respuestas:
¿Alguna vez obtiene el mismo error sin
screen, después de que se haya establecido la primera sesión SSH? Es extraño que su "Si elimino solo una de las máquinas [...] funciona correctamente" parece decir que 2 máquinas funcionan, pero una tercera produce problemas. Sisshsoporta múltiples conexiones X-reenviadas, ¿podría ser una cuestión de hacer las cosas más lentamente? Eso se puede probar mejor sinscreensuponer. ¿Y si cambias el orden de las máquinas?Supongo que este
.Xauthorityarchivo está en la máquina remota, pero no soy un experto. (Si/home/useren su pregunta, de hecho, se trata de un directorio más específico, entonces probablemente pueda saber fácilmente si es local o remoto). Entonces, una pregunta extraña: ¿está seguro de que las 3 máquinas son máquinas realmente diferentes, y que nadie más es usando la misma cuenta? Deman ssh:(Y ¿no podría sustituir
screenconssh -f -N, o está usando el título de la pantalla para ser capaz de detener las cosas?)fuente