8 votos

Problemas con ssh -X en Mountain Lion

¿Cómo ejecutar en Mountain Lion el reenvío de X11 a través de SSH?

Ejemplo:

ssh -X some@example.com xterm

mi /etc/sshd_config tiene

X11Forwarding yes
#X11DisplayOffset 10
X11UseLocalhost yes

# XAuthLocation added by XQuartz (http://xquartz.macosforge.org)
XAuthLocation /opt/X11/bin/xauth

Se ha reiniciado sshd con

launchctl stop com.openssh.sshd
launchctl start com.openssh.sshd

(y también desde las Preferencias -> Compartir)

Inicié XQuatrz, y desde el xterm ejecuto

ssh -v -X mrp@192.168.1.17 xterm        #this part not works :)

tiene el siguiente:

debug1: Authentication succeeded (keyboard-interactive).
Authenticated to 192.168.1.17 ([192.168.1.17]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending command: xterm
debug1: Remote: No xauth program; cannot forward with spoofing.
X11 forwarding request failed on channel 0
xterm: Xt error: Can't open display: 
xterm: DISPLAY is not set
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2656, received 2480 bytes, in 0.1 seconds
Bytes per second: sent 29582.4, received 27622.1
debug1: Exit status 1

desde el xterm

$ echo $DISPLAY
/tmp/launch-BHtJfJ/org.macosforge.xquartz:0

cambiándolo por :0 no ayuda

ejecutando desde el xterm

$ xauth list
jonatan.local/unix:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2
192.168.1.9:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2
jonatan.local:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2

¿Alguna idea?

0 votos

¿Podría aclarar qué parte no le funciona?

0 votos

@demure Mi inglés no es lo suficientemente bueno, tenía la esperanza de que el mensaje de error fuera lo suficientemente claro. Pero bueno, he añadido un comentario a la pregunta, para mostrar exactamente lo que no funciona. O más preciso, no funciona el túnel de protocolo X a través de ssh por alguna extraña razón. Tal vez xauth. Gracias por el interés :)

8voto

TDHawk Puntos 6

Tienes que abrir XQuartz, ir a X11 Preferencias Seguridad Hay dos casillas de verificación: desactive la primera y active la segunda. Reinicie XQuartz y vuelva a intentarlo. También tendrá que definir el $DISPLAY variable como esta:

export DISPLAY=clienthost:0.0

0 votos

Mientras tanto descubrí que el problema estaba en el otro lado - no en mi OS X. ; Gracias de todos modos +1.

0 votos

@jm666, Andreu tengo el mismo problema y esta solución no me funcionó, #jm66 podrías compartir tu experiencia en la solución de este problema.

0 votos

¿Qué es? clienthost ?

1voto

Robin Houston Puntos 537

No estoy seguro de cómo puede ocurrir esto, pero desde la fuente SSH donde viene el mensaje de error:

/* Try to open a socket for the local X server. */
display = getenv("DISPLAY");
if (!display) {
    error("DISPLAY not set.");
    return -1;
}

Indica que, efectivamente, ssh piensa que la variable no está establecida en absoluto (es decir, no está malformada o algo así, sino que falta).

No estoy seguro de que SSH cambie el contexto del usuario para que obtenga un entorno diferente. Puedes probar

ssh -vvv ....

(múltiples "v") para obtener más salida de depuración, tal vez esto da una pista en alguna parte del inicio.

0 votos

Wow - buena idea la vvv múltiple - va a comprobar. Gracias :)

0 votos

Bien, espero que sea de ayuda

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X