Para obtener acceso a las aplicaciones del cliente X, como system-config-date, xclock, vncviewer, necesitamos exportar la configuración de PANTALLA de un host remoto al servidor local. Esto se hace comúnmente usando los siguientes comandos.
# ssh root@remotehost remotehost# export DISPLAY=x.x.x.x:y.y
Donde x.x.x.x:y.y es la configuración de visualización del sistema desde el que se conectó al host remoto.
También puede usar la opción -X con ssh para exportar directamente la PANTALLA en el host remoto.
# ssh -X root@remotehost
Pero ahora, si intenta cambiar a otro usuario en el sistema remoto y exportar la pantalla nuevamente, obtendrá un error:"Error:no se puede abrir la pantalla:".
# ssh -X root@remotehost # su - [username] # export DISPLAY=x.x.x.x:y.y # xclock Error: Can't open display: x.x.x.x:y.y
Reenvío X11 para usuarios sudo
Simplemente configurar la PANTALLA no es suficiente. La autenticación X se basa en cookies, por lo que es necesario configurar la cookie utilizada por el usuario que inició la conexión. El siguiente procedimiento permite a un usuario sudo usar el túnel X11 basado en ssh:
1. Conecte el host remoto usando la opción -X con ssh.
# ssh -X root@remote-host
2. Ahora enumere el conjunto de cookies para el usuario actual.
# xauth list $DISPLAY node01.thegeekdiary.com/unix:10 MIT-MAGIC-COOKIE-1 dacbc5765ec54a1d7115a172147866aa # echo $DSIPLAY localhost:10.0
3. Cambie a otra cuenta de usuario usando sudo. Agregue la cookie de la salida del comando anterior al usuario sudo.
# sudo su - [user] # xauth add node01.thegeekdiary.com/unix:10 MIT-MAGIC-COOKIE-1 dacbc5765ec54a1d7115a172147866aa
4. Exporte la pantalla del paso 2 nuevamente para el usuario sudo. Pruebe el comando xclock para verificar si las aplicaciones del cliente x funcionan como se esperaba.
# export DISPLAY=localhost:10.0 # xclock