¿Cómo reenviar X a través de dos túneles SSH?

imagenes

Estoy intentando ejecutar un programa X en la computadora de mi casa desde la computadora de mi trabajo. La configuración básica es la siguiente:

Arch Linux computer computer -> Enrutador OpenBSD SSH (en casa) -> Arch home computer de Linux (con SSH)

Nunca he intentado hacer esto y no estoy seguro de cómo hacerlo. ¿Cómo lograría que esto funcione?

Cuando solo trato de hacer

$ (computadora de trabajo) ssh -Y home-ip
..
$ (enrutador de casa) ssh -Y private-ip

Me metí en el último túnel “La solicitud de reenvío X11 falló en el canal 0”

¿Cómo hago esto correctamente?

EDITAR: Olvidé habilitar el reenvío X en el sshd de la computadora de mi hogar. Lo he arreglado ahora, pero nada parece suceder cuando hago un comando simple como xterm. Simplemente se sienta allí, presumiblemente tratando de mostrar la ventana xterm en mi enrutador y no en mi computadora de trabajo


Tenemos varias respuestas

La mejor respuesta:

¿Qué tal si reenvía un puerto en la computadora de tu trabajo al puerto 22 de la computadora de tu casa y luego ssh -Y a ese puerto local?

Por ejemplo,

ssh -L 2222: ip privado: 22 enrutador-ip
ssh -Y localhost: 2222

Otra respuesta

Lo que has hecho debería funcionar, pero necesitas tener la xauth Programa instalado en el enrutador para que pueda crear una clave de seguridad para la pantalla virtual X11 que crea SSH. Necesitas xauth en cualquier maquina que tu ssh -X o ssh -Y Incluso si no ejecutas ninguna aplicación X allí, solo úsala como un paso hacia otra parte.

Después de que se haya conectado a la computadora de la casa, $ PANTALLA variable. Debería ser algo como localhost: 10. Si no, vuelve a tu shell en el enrutador y comprueba $ PANTALLA ahí.


Fuente

Leave a Reply