Ejecutar Aplicaciones Remotamente
Los pasos a seguir para poder utilizar un programa en un ordenador remoto son:
- Ejecuta en el ordenador local: xhost remoto.X-Windows.es - de esta forma autorizas al ordenador remoto a conectarse con tu ordenador local-
- Haz telnet a tu cuenta en remoto.X-Windows.es
Ya en el ordenador remoto, puedes comprobar que la variable DISPLAY apunta al local:
echo $DISPLAY
local.X-Windows.es:0.0
En caso contrario, debes definir el valor de esa variable. Por ejemplo, desde bash: export DISPLAY="local.X-Windows.es:0.0"
Basta ejecutar en el ordenador remoto el programa X que desees. El resultado se mostrará en tu máquina X-Windows y podrás interactuar con él.
Bien, el problema es que ahora hemos dado permiso para que cualquier usuario del ordenador remoto pueda mostrar aplicaciones en la máquina X-Windows local, y esto es muy peligroso ya que la seguridad del sistema se ve afectada.
En la práctica tendremos una cuenta en el ordenador remoto, imaginemos que con nombre de usuario remoteuser y deseamos que sólo este usuario pueda interactuar con la máquina X local. Usaremos xauth.
Para ello nos aseguramos de que tenemos un número de identificación para nuestro DISPLAY. Tecleando: xauth list
debes ver algo tipo:
local.X-Windows.es:0.0 MIT-MAGIC-COOKIE-1 1ae9df88eae3f13302a
Si no tenemos ese número, lo creamos con
xauth generate local.X-Windows.es:0.0 MIT-MAGIC-COOKIE-1
Una vez contamos con nuestra clave, hemos de introducirla en nuestro sistema de autentificación del ordenador remoto. Para ello, entramos en este ordenador (suponiendo que el usuario es remoteuser), y tecleamos:
xauth add local.X-Windows.es:0.0 MIT-MAGIC-COOKIE-1 1ae9df88eae3f13302a
Nota: Como teclear esta orden puede resultar cansador, siempre que podamos efectuar rsh desde la máquina local a la remota (para ello añadir la línea local.X-Windows.es localuser al fichero .rhosts), es más sencillo escribir:
xauth extract - local.X-Windows.es:0.0 | rsh remota.X-Windows.es -l remoteuser xauth merge -
Ahora, siempre que la variable $DISPLAY del usuario remoteuser apunte a nuestra máquina X, sólo este usuario podrá ejecutar aplicaciones que interactúen con el servidor X local.
- Ejecuta en el ordenador local: xhost remoto.X-Windows.es - de esta forma autorizas al ordenador remoto a conectarse con tu ordenador local-
- Haz telnet a tu cuenta en remoto.X-Windows.es
Ya en el ordenador remoto, puedes comprobar que la variable DISPLAY apunta al local:
echo $DISPLAY
local.X-Windows.es:0.0
En caso contrario, debes definir el valor de esa variable. Por ejemplo, desde bash: export DISPLAY="local.X-Windows.es:0.0"
Basta ejecutar en el ordenador remoto el programa X que desees. El resultado se mostrará en tu máquina X-Windows y podrás interactuar con él.
Bien, el problema es que ahora hemos dado permiso para que cualquier usuario del ordenador remoto pueda mostrar aplicaciones en la máquina X-Windows local, y esto es muy peligroso ya que la seguridad del sistema se ve afectada.
En la práctica tendremos una cuenta en el ordenador remoto, imaginemos que con nombre de usuario remoteuser y deseamos que sólo este usuario pueda interactuar con la máquina X local. Usaremos xauth.
Para ello nos aseguramos de que tenemos un número de identificación para nuestro DISPLAY. Tecleando: xauth list
debes ver algo tipo:
local.X-Windows.es:0.0 MIT-MAGIC-COOKIE-1 1ae9df88eae3f13302a
Si no tenemos ese número, lo creamos con
xauth generate local.X-Windows.es:0.0 MIT-MAGIC-COOKIE-1
Una vez contamos con nuestra clave, hemos de introducirla en nuestro sistema de autentificación del ordenador remoto. Para ello, entramos en este ordenador (suponiendo que el usuario es remoteuser), y tecleamos:
xauth add local.X-Windows.es:0.0 MIT-MAGIC-COOKIE-1 1ae9df88eae3f13302a
Nota: Como teclear esta orden puede resultar cansador, siempre que podamos efectuar rsh desde la máquina local a la remota (para ello añadir la línea local.X-Windows.es localuser al fichero .rhosts), es más sencillo escribir:
xauth extract - local.X-Windows.es:0.0 | rsh remota.X-Windows.es -l remoteuser xauth merge -
Ahora, siempre que la variable $DISPLAY del usuario remoteuser apunte a nuestra máquina X, sólo este usuario podrá ejecutar aplicaciones que interactúen con el servidor X local.
No hay comentarios.:
Publicar un comentario