Estoy usando Open SSH (OpenSSH_6.6.1p1, OpenSSL 1.0.1i 6 de agosto de 2014) en Windows 8.1. El reenvío X11 no parece estar funcionando. La variable de entorno DISPLAY no parece estar configurada.
Por ejemplo, si uso BitVise o Putty para conectarme y ejecuto env, veo:
[marko@vm:~]$ env
XDG_SESSION_ID=6
TERM=xterm
SHELL=/bin/bash
SSH_CLIENT=192.168.1.174 61102 22
SSH_TTY=/dev/pts/0
USER=marko
MAIL=/var/mail/marko
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
PWD=/home/marko
LANG=en_CA.UTF-8
NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
SHLVL=1
HOME=/home/marko
LANGUAGE=en_CA:en
LOGNAME=marko
SSH_CONNECTION=192.168.1.174 61102 192.168.1.64 22
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=localhost:10.0
_=/usr/bin/env
Si en cambio uso OpenSSH (ssh -X marko @ vm):
[marko@vm:~]$ env
XDG_SESSION_ID=8
TERM=cygwin
SHELL=/bin/bash
SSH_CLIENT=192.168.1.174 61150 22
SSH_TTY=/dev/pts/1
USER=marko
MAIL=/var/mail/marko
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
PWD=/home/marko
LANG=en_CA.UTF-8
NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
SHLVL=1
HOME=/home/marko
LANGUAGE=en_CA:en
LOGNAME=marko
SSH_CONNECTION=192.168.1.174 61150 192.168.1.64 22
XDG_RUNTIME_DIR=/run/user/1000
_=/usr/bin/env

Respuestas:
¿Ha configurado
DISPLAYla variable de entorno en el cliente? No estoy seguro de qué shell está utilizando, pero con el derivado de shell Bourne (como bash), intente:O si está utilizando cmd.exe:
fuente
set DISPLAY=anythingseguido dessh -X user@remoteretornosCreateProcessW failed error:2 ssh_askpass: posix_spawn: No such file or directory Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).Desarmar la variable de entorno conset DISPLAY=me permite ssh con éxito nuevamente, pero sin trabajar el reenvío X. No tiene ningún sentido para mí que la configuración de DISPLAY haga que el software solicite mi contraseña de esta manera. github.com/PowerShell/Win32-OpenSSH/issues/1088 github.com/PowerShell/Win32-OpenSSH/issues/1088Cuando corres
ssh -X remotehosty teDISPLAY=localhost:10presentan al host remoto.sshescucha en ese puerto y reenvía el tráfico al sistema de llamada, utilizando su valor original deDISPLAYpara determinar la dirección del servidor.Es probable que en su sistema local tenga
DISPLAY=:0. O si no lo has hecho, eso es lo que está siendo predeterminado. Esto indica al sistema local que use el socket de dominio UNIX para comunicarse con la pantalla. Desafortunadamente,Xmingen Windows no se configura ese socket de dominio UNIX, por lo que susshreenvío X11 falla con este tipo de error:La solución, al menos hasta donde
Xmingllega, es bastante simple. Modifique laDISPLAYvariable para hacer referencia a un socket TCP de escucha en lugar de un socket de dominio UNIX.Puede que tenga que adaptar su
Xmingconfiguración para escuchar en el puerto TCP local 6000. Aquí es cómo empiezoXming:Y aquí hay evidencia para confirmar que
Xmingestá escuchando en el puerto tcp / 6000:fuente
localhost:0.DISPLAY=:0funciona bien en WSL + XMing paraxeyes, pero no parassh -X? ¿ssh -XInterpreta $ DISPLAY de manera diferente a otros clientes X11 locales? ¿Otros clientes X11 retroceden automáticamentelocalhost:0perossh -Xno lo hacen?man Xél dice que el nombre de host vacío en DISPLAY =: 0 significa "Se elegirá el transporte local más eficiente". Entonces, ¿se puedessh -Xusar un algoritmo diferente para hacer eso en comparación con decirxeyes?DISPLAY=:0y lossh -Xreenvía felizmente.Con ssh en Windows10 y Xming, parece que obtengo resultados "buenos" (?) Con:
y creando un objeto C: \ dev \ tty por ejemplo con
y usando
ssh -Y(nossh -X).fuente