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/config
contiene
ForwardX11 yes
Me sale el siguiente error en los terminales de machine2
y 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 XAUTHORITY
variable de entorno. Todavía desconcertado ...
ssh
xorg
gnu-screen
usuario1863
fuente
fuente
ForwardX11
cuando quieres usar sesiones gráficas. Hasta donde yo sé, ¿screen
está 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únsleep
comando entre los 3 comandos? ¿O tal vez mover los 3screen
comandos desde.screenrc
algú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. Sissh
soporta múltiples conexiones X-reenviadas, ¿podría ser una cuestión de hacer las cosas más lentamente? Eso se puede probar mejor sinscreen
suponer. ¿Y si cambias el orden de las máquinas?Supongo que este
.Xauthority
archivo está en la máquina remota, pero no soy un experto. (Si/home/user
en 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
screen
conssh -f -N
, o está usando el título de la pantalla para ser capaz de detener las cosas?)fuente