ssh com x11 forwarding: não funciona de rede externa

2

Eu tenho um laptop e um servidor. Na mesma rede lan, eu posso ssh com X11 encaminhando para o servidor via:

ssh -Y -C [email protected]

Quando executo qualquer coisa que abre uma janela x11, as coisas funcionam. Por exemplo, xterm e chromium-browser.

No meu roteador, tenho a porta 22 encaminhada para o meu servidor. Assim, quando estou fora da minha rede, posso com êxito ssh no meu servidor via

ssh [email protected]

O problema é quando eu quero o X11 para a frente. Quando eu adiciono os sinalizadores "-Y-C", ainda posso fazer o login. No entanto, as janelas não são encaminhadas quando recebo erros como estes: - (chromium-browser: 21079): Gtk-WARNING **: não pode abrir o display: - erro xtm Xt: Não é possível abrir o display: xterm: DISPLAY não está definido

Eu juro que isso costumava funcionar, mas por algum motivo, isso não acontece agora. A única mudança que eu posso pensar recentemente foi a atualização do software no servidor (10.04 a 10.04 com atualizações). Além disso, no meu laptop, recentemente atualizei para o Ubuntu 11.04.

Eu acho que tem que ser uma questão recente, como eu teria pego isso muito antes. Além disso, não me lembro desse erro todo ocorrido antes quando abri o windows x11. Eu acho que tem a ver com o meu laptop, como quando eu tento coisas semelhantes em outros servidores (fora da rede, na escola), o windows x11 também não abre (e eles têm antes).

Eu pesquisei mas não consegui nada relevante. O encaminhamento do X11 deve estar ativo, pois funciona internamente. Externamente, isso não acontece. Por favor, deixe-me saber suas sugestões para depuração ou correção.

    
por Vinh Nguyen 12.05.2011 / 05:47

2 respostas

1

Você não especificou o sinalizador real para ativar o encaminhamento do X11, que é -X . ( -Y apenas muda para o modo "confiável").

Meu palpite é que você tem o encaminhamento X11 habilitado em ~/.ssh/config ou /etc/ssh/ssh_config em algumas máquinas, e é por isso que funcionou a partir daí sem -X especificado.

    
por 12.05.2011 / 07:08
0

@grawity (desculpa muito tempo para os comentários)

$ ssh -X -v -v -v [email protected]
OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /home/username/.ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: auto-mux: Trying existing master
debug2: fd 3 setting O_NONBLOCK
debug2: mux_client_hello_exchange: master version 4
debug3: mux_client_request_forwards: requesting forwardings: 0 local, 0 remote
debug3: mux_client_request_session: entering
debug3: mux_client_request_alive: entering
debug3: mux_client_request_alive: done pid = 2616
debug3: mux_client_request_session: session request sent
debug1: mux_client_request_session: master session id: 3
$ xterm
xterm Xt error: Can't open display: 
xterm:  DISPLAY is not set

$ exit
logout
debug1: mux_client_request_session: master session id: 3
debug3: mux_client_read_packet: read header failed: Broken pipe
debug2: Received exit status from master 1
Shared connection to external.ip closed.

Eu apenas percebi algo. Eu uso o SSHFS com alguns desses servidores que estou tentando (montando alguns diretórios). Eu também tenho o seguinte em ~ / .ssh / config:

Host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p

para manter uma única sessão ativa (e continuar usando-a). Talvez o X11 Forwarding não esteja configurado na minha sessão inicial do SSHFS.

    
por 12.05.2011 / 16:08