Conexão de encaminhamento PuTTY, CygwinX e X11 recusada

10

Não consigo mais encaminhar o X11 usando o KiTTY / PuTTY para o CygwinX.

Estou conectando a uma máquina Ubuntu Server 14.10 que está configurada corretamente para permitir o encaminhamento do X11. Eu sou capaz de iniciar o encaminhamento do X11 usando o Cygwin xterm e de outras máquinas Linux.

Estou usando o CygwinX [1.7.34 (0.285 / 5/3)] e o KiTTY 0.64.0.1 (forquilha do PuTTY, também tentei o PuTTY) no Win7.

Verifiquei minha variável de exibição e tentei desativar o controle de acesso ao xhost no Cygwin xterm.

$ echo $DISPLAY
:1

$ xhost +
access control disabled, clients can connect from any host

Meu KiTTY / PuTTY está configurado para ativar o encaminhamento X11 e a exibição correta está definida. Eu tentei: 1 e: 1.0.

Captura de tela da configuração do KiTTY X11

Quando eu SSH no servidor, minha variável DISPLAY é definida e o xauth é atualizado. Excluí minha .Xauthority e a recriei para verificar.

user@server:~$ echo $DISPLAY
localhost:10.0
user@server:~$ xauth list
server/unix:10  MIT-MAGIC-COOKIE-1  3983b2d7f3d5f9f66d9796997771bf82

Quando tento iniciar um aplicativo X11, recebo o seguinte erro.

user@server:~$ xterm
KiTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused
xterm: Xt error: Can't open display: localhost:10.0

XWin.exe está escutando na porta 34576, se isso importa.

[XWin.exe]
 TCP    127.0.0.1:34576        0.0.0.0:0              LISTENING

Acredito que esteja faltando um problema de software ou configuração, pois estou vendo isso com vários servidores e máquinas clientes. Qualquer ajuda seria apreciada.

SeeJayEmm
fonte
$DISPLAYna máquina remota deve apontar para o endereço da área de trabalho, não localhost.
lcd047
2
@ lcd047 Não, absolutamente agora. $DISPLAYna máquina remota deve apontar para localhost. SSH faz o encaminhamento.
Gilles 'SO- stop be evil'
Eu instalei o Cygwin de 32 bits para eliminar o Cygwin64 como uma variável. Nenhuma mudança. Ainda está recebendo o erro de conexão recusada.
SeeJayEmm
@Gilles: O ponto que eu estava tentando ressaltar era que, como $DISPLAY na máquina remota não aponta para a área de trabalho do OP, o encaminhamento do X11 não aconteceu . Caso contrário, $DISPLAYna máquina remota talvez nem exista se a máquina remota não estiver executando um servidor X (o que não tem nada a ver com a pergunta inicial).
lcd047
3
@ lcd047 Não. Verifique seus fatos. Se o encaminhamento do X11 acontecer, DISPLAYaponte para localhost. O SSH escuta em uma porta TCP na máquina remota e encaminha os pacotes. Se DISPLAYapontado para a máquina local, isso indicaria que ele não é encaminhado pelo SSH, mas por uma conexão TCP direta - em texto não criptografado e possivelmente para um endereço IP que nem sequer possui uma rota.
Gilles 'SO- stop be evil'

Respostas:

9

Ok, eu descobri a solução para o meu próprio problema.

Por padrão, o CygwinX não escuta mais as conexões tcp (o Cyg SSH está usando soquetes Unix para conectar). Para habilitar conexões tcp, "-listen tcp" precisa ser adicionado aos parâmetros da linha de comando. No meu caso, mudei o ícone "XWin Server" para ler:

C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/startxwin -- -multiwindow -listen tcp"
SeeJayEmm
fonte
Isso funciona muito bem para mim, obrigado! Mas como evitar ter que fazer xhost +localhost(ou uma solução mais segura) em um terminal cygwin local toda vez que inicio o servidor X?
Chappjc 17/09/2015
1
Bem, eu adicionei xhost +localhostno startxwinfinal do arquivo, dentro da última condicional:xhost +localhost fi exit $retval
chappjc
que tal para massa de vidraceiro?
Brian Thomas
@BrianThomas Você pode esclarecer sua pergunta? E o PuTTY? A configuração do PuTTY na minha postagem original era válida. O problema foi com o CygwinX.
SeeJayEmm
Bem, eu estava me referindo ao título, Putty não está se conectando, a resposta é para Cygwin, e não para massa, mas ainda vejo uma tela de massa no OP. De qualquer forma, eu descobri. Para massa de vidraceiro, a solução para o meu problema era garantir que apenas um Xserver (XMing no meu caso) estivesse sendo executado e que não houvesse erros no log na inicialização, e é obrigatório especificar a exibição :10para mim. (ok, posso ver como isso não se aplica à sua resposta, já que você é o OP original, no entanto, há outras pessoas aqui também, esse problema pode ser bem amplo. então, espero que isso seja útil para outros.)
Brian Thomas
0

Eu tive esse problema. Foi porque o X-Win não estava funcionando. Se você deseja que o X-Win seja executado na inicialização, vá em "run", "shell: startup" e copie o atalho do x-win nessa pasta.

Tim Mottram
fonte
0

No meu caso, o erro foi semelhante "conexão putty x11 recusada". Eu estava efetuando login através de uma máquina Windows em um servidor Ubuntu 16 via massa (com o encaminhamento x11 ativado).

Tentei várias coisas, desde a geração de arquivos .Xauthority até a adição de cookie mágico no uso da lista xauth. No entanto, o problema era simplesmente que o servidor Xming não estava sendo executado na minha máquina Windows. Depois que iniciei o Xming na máquina host (windows) na qual estava gerando a massa, o login via Putty funcionou como um encanto.

Nishank
fonte