Xforwarding no permite cambiar de usuario

Xforwarding no permite cambiar de usuario

Estoy conectado por ssh a una computadora remota y xforwarding funciona bien... pero tan pronto como hago "sudo su -" o "sudo su user2", ya no envía nada, lo que me da el error:

X11 connection rejected because of wrong authentication.
xterm Xt error: Can't open display: localhost:10.0

¿Algunas ideas?

Gracias

Respuesta1

  1. Habilite el reenvío X-11 en su cliente
  2. Inicia sesión como tu usuario normal
  3. echo $DISPLAYpara obtener la pantalla asociada
  4. xauth list, busque el número de pantalla que corresponde con lo que encontró en el n.° 3 y cópielo
  5. Sudo para rootearxauth add <paste in what you copied from #4>
  6. Ahora puedes ejecutar comandos como root y podrás ver la conexión de reenvío X11.

Respuesta2

Antes de ti sudo, haz esto:

$ xauth extract /tmp/xauthstuff $DISPLAY

Después de ti sudo, haz esto:

# xauth merge /tmp/xauthstuff

¿Esto funciona para tí?

PD: recuerda rm /tmp/xauthstuffdespués

Respuesta3

No tengo acceso a la cuenta raíz para hacer nada de lo anterior, así que aquí hay una solución alternativa que utilicé.

Primero, acceda a su cuenta mediante ssh como lo hace normalmente y pruebe que todo funciona.

ssh -Y <you>@<your_server>

Por lo general, simplemente enciendo un XTerm para asegurarme de tener conectividad. Si todo está bien, copie el archivo .XAuthority que está en <you>el directorio de inicio y colóquelo en un directorio público.

cp ~/.Xauthority /tmp/tempXAuth

Asegúrese de usar chmod 777 en ese archivo en el directorio público para que la cuenta sudo pueda usarlo en el paso posterior.

chmod 777 /tmp/tempXAuth

ahora sudo al usuario que necesita para trabajar como

sudo su - <other_user>

Una vez que lo esté <other_user>, haga una copia de seguridad del .Xauthority existente y luego copie el "bueno".

cp ~/.Xauthority ~/.Xauthority.bak
cp /tmp/tempXAuth ~/.Xauthority

Debería poder ejecutar cualquier programa X y autenticarlo con su sesión actual de XServer.

Respuesta4

Como usuario con el que normalmente inicia sesión escriba:

cd

sudo cp .Xauthority /root/

Luego puedes cambiar a root usando:

sudo su

información relacionada