Abra una aplicación X pasando por muchos aros (SSH, vpn, etc.)


0

Los jugadores:

  • la computadora de mi casa, ejecutando Linux con un servidor X funcionando. (Llámalo HOGAR)
  • un sitio remoto, al que me puedo conectar a través de Internet usando una VPN. (SITIO)
  • una computadora Linux en el sitio remoto, a la cual me puedo conectar ssh -Xy tener clientes X que se muestran en mi servidor local. (MEDIO)
  • una máquina Irix muy antigua (un Onyx) en el sitio remoto, que no tiene servidor SSH (por lo tanto, no puedo ssh -Xhacerlo), solo un ssh cliente . (ÓNIX)

Propósito

Necesito ejecutar una aplicación X11 en la máquina ONYX y ver la GUI en HOME. Creo que me encuentro con xauthproblemas. Tenga en cuenta que he intentado lo obvio: configuré DISPLAY en $ip_address_of_HOME_in_the_SITE_VPN:0, pero el servidor VPN no reenvía los intentos de conexión a sus clientes, probablemente por razones de seguridad.

Hasta aquí

La situación actual es:

  • ☑ INICIO se conecta al SITIO
  • ☑ Se inicia un vncserver en MEDIO: 7
  • Nc vncviewer en HOME se conecta a vncserver en MIDDLE
  • ☑ ONYX inicia una sesión ssh de reenvío a MEDIO:
    ssh -TfN -L 6007:127.0.0.1:6007 MIDDLE
  • ☒ DISPLAY=localhost:7 xclienten ONYX falla con
    Xlib: el servidor rechaza la conexión a "127.0.0.1:7.0"

Sé que el reenvío (6007: 127.0.0.1: 6007) tiene éxito.

Un intento anterior fue:

  • ☑ INICIO se conecta al SITIO
  • ☑ INICIO se conecta a MEDIO:
    ssh -X MIDDLE(xclock se muestra en INICIO, PANTALLA es 127.0.0.1:10)
  • ☑ ONYX inicia un túnel SSH a MEDIO: ssh -TfN -L 6010:127.0.0.1:6010 MIDDLE
  • ☒ DISPLAY=127.0.0.1:10 xclientfalla con la
    conexión X a 127.0.0.1:10.0 rota (muerte explícita o apagado del servidor).
    mientras aparece un error en la sesión MEDIA: se
    rechazó la conexión X11 debido a una autenticación incorrecta.

Desesperación

¿Cómo puedo lograr mi propósito?


Intenté ejecutar xauthen ONYX, entonces generate 127.0.0.1:10 . trusted(en el segundo caso anterior), pero tengo el mismo error dual (uno en ONYX, uno en el MEDIO).
— tzot

Respuestas:


0

XDMCP . Configure ONYX para aceptar conexiones XDMCP, luego abra un túnel SSH de HOME a MIDDLE. Conéctese Xnesto Xephyral extremo local del túnel SSH e inicie sesión en ONYX.


Intentaré leer más sobre Xnest y Xephyr, porque no tengo experiencia con estos. Sin embargo, no estoy seguro de cómo se debe configurar el túnel de INICIO a MEDIO. Además, si configuro ONYX para aceptar conexiones XDMCP, ¿eso no significaría que en la consola gráfica ONYX puedo iniciar sesión en otros sistemas (es decir, lo contrario de lo que quiero)?
— tzot

Honestamente, no recuerdo todos los detalles. Ha pasado mucho tiempo desde que tuve que lidiar con XDMCP.
— Ignacio Vazquez-Abrams

0

Logré llegar a una solución usando túneles SSH rectos (sin opción -X), además de algunos xauthajustes:

  • HOME se conecta al SITIO, telnet a ONYX
  • HOME ssh tunnel to MIDDLE:
    ssh -TfN -R 6010:127.0.0.1:6000 MIDDLE
  • Túnel ssh ONYX a MEDIO:
    ssh -TfN -L 6010:127.0.0.1:6010 MIDDLE
  • INICIO xauth nextract - $DISPLAYy copie la salida
  • ONYX xauth nmerge -y pega la salida anterior
  • ONYX DISPLAY=127.0.0.1:10 xclientexitoso :)

-1

No puede usar la PANTALLA localhost (127.0.0.1) para un cliente X que se ejecuta en el cuadro ONYX para mostrar en el cuadro INICIO. Necesita la dirección IP de HOME o el nombre de host.


-1: No te diste cuenta de los túneles SSH, me temo. Además, ya he intentado configurar DISPLAY en IP_OF_HOME_THRU_VPN_ON_REMOTE_SITE: 0, pero el servidor VPN no reenvía las conexiones a los clientes VPN, solo desde .
— tzot

En realidad, noté los túneles. No vi ninguna razón para su necesidad. Independientemente, localhost como la variable DISPLAY para un host sin un servidor X en ejecución es incorrecto.
— mpez0

localhosten la variable de entorno DISPLAY implica una conexión TCP / IP; ningún nombre de host implica un socket UNIX local. Dado que hay muchas formas de reenviar sockets TCP / IP a máquinas remotas (por ejemplo, con túneles ssh, que funcionaron aquí; vea mi respuesta), ¿qué quiere decir con su última parte de su comentario, "localhost como la variable DISPLAY para un El host sin un servidor X en ejecución es incorrecto. Debido a que la realidad refuta lo que dices, es incorrecto en sí mismo.
— tzot
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.