Con el reenvío SSH X11 (`ssh -X`), obtenga` No se puede abrir la pantalla` tratando de ejecutar aplicaciones X

22

Puedo iniciar sesión para cortar usando

ssh -X Hostip

pero cuando ejecuto el comando xclock me da este error

Error: Can't open display: localhost:11.0

Verifico mi valor de visualización usando

echo $DISPLAY

y el resultado es

localhost:11.0

Y el reenvío X11 se establece en SÍ en el archivo sshd_config

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

¿Algún consejo de lo que me estoy perdiendo aquí?

OmiPenguin
fuente
3
¿Has probado en -Ylugar de -X?
Flup
2
Además, asegúrese de comprender las implicaciones del uso en -Ylugar de -X. También es posible que desee mirar xhost.
un CVn
1
Para RedHat / CentOS 7 (al menos), necesita el paquete xorg-x11-xauth, según mi respuesta aquí: unix.stackexchange.com/questions/138936/…
Mike S

Respuestas:

18

Uso -Y. Desde la página de manual en ssh:

-Y Habilita el reenvío X11 confiable. Los reenvíos X11 de confianza no están sujetos a los controles de extensión X11 SECURITY.

Sin embargo, si todavía tiene problemas, puede intentar configurar $DISPLAYla IP de su casilla local :

$ export DISPLAY='<ip_address>:11.0'

Puede funcionar establecerlo como

$ export DISPLAY='127.0.0.1:11.0'

La gente parece tener este problema común cuando ssh'ing desde Mac OS X . También es posible que desee configurar

X11UseLocalhost no

En este caso también.

Kyle Kelley
fuente
1
Usando XQuartz no pude usar la bandera -Y. "Se rechazó la conexión X11 debido a una autenticación incorrecta".
Erik
55
incluso después de probar sus otras sugerencias, no puedo abrir una pantalla.
Erik
2
Ninguno de estos funcionó para mí tampoco. Necesitaba instalar el soporte XWindow en mi servidor Centos 7 (mínimo) con: yum groupinstall "X Window System" -y
Mark Edington
@ MarkEdington esto se debe a que RedHat / CentOS requieren el paquete xorg-x11-xauth, según mi respuesta aquí: unix.stackexchange.com/questions/138936/…
Mike S
6

esto funcionó para mí:

Cambio

X11UseLocalhost yes

a

X11UseLocalhost no
don
fuente
Gracias don. eso funcionó para mí también. Te di un voto a favor. Creo que el problema que interfirió con el valor predeterminado fue que la máquina específica está habilitada para xhost.
LD James
66
en invitado? ¿anfitrión? ¿Qué archivo de configuración? gracias para completar tu respuesta
Philippe Gachoud
Lo hice funcionar dejando caer la configuración a /etc/ssh/sshd_config.
llinfeng
6

Gracias a /unix//a/12772/61349 por sus instrucciones de diagnóstico.

Asegúrese de que su cliente ssh esté solicitando el reenvío X11 con el indicador -v

ssh example.com -X -v

Y busque el mensaje específico:

debug1: Requesting X11 forwarding with authentication spoofing.

Otro signo de problema revelador es la falta del DISPLAYconjunto de variables de entorno establecido para usted. Si está en blanco / desarmado, hay algo mal. Al menos de acuerdo con la misma publicación acreditada anteriormente , estas variables se configuran automáticamente.


Estaba usando un SSH Control Master mis conexiones ssh así:

Host <hostname>
    ControlMaster auto
    ControlPath ~/.ssh/control/%r@%h:%p
    ControlPersist 10m

Mi conexión ssh anterior no solicitó X11Firwarding, por lo tanto, sshlas opciones de llamadas futuras no se estaban utilizando. Entonces para mi

ssh -Xsolo estaba siendo ignorado por completo

Si no ve "Solicitud de reenvío de X11", pero sí ve las sesiones de reutilización del silenciador;

debug1: auto-mux: Trying existing master
debug1: mux_client_request_session: master session id: 10

Luego debe salir de su ControlMaster actual para esa conexión y volver a conectarse con el indicador -X / -Y.

Para detener su ControlMaster

ssh -O check <hostname>

Master running (pid=2758)

(Esto saldrá de todas las conexiones activas usando ControlMaster)

ssh -O exit <hostname>

Exit request sent.
ThorSummoner
fuente
3

Al intentar reenviar a XQuartz en macOS, solucioné el problema ejecutando el sshcomando ( ssh -Yen mi caso) desde el terminal XQuartz (abierto haciendo clic derecho en el icono XQuartz en el dock y haciendo clic en Aplicaciones> Terminal).

Harry Cutts
fuente
esto funcionó para mí
dli
3

Lo que solucionó esto para mí es simplemente instalar xauth, ¡una vez hecho esto funcionó de maravilla!

Mostafa
fuente