usando x11 forwarding com ssh e vnc?

4

Estou trabalhando em um cluster remoto via ssh com a opção -X, porque preciso visualizar dados e gráficos, através de um protocolo vpn. Às vezes, devido à instabilidade da conexão com a internet, perco a minha sessão. Eles me disseram que eu poderia usar o vnc para não perder minha sessão atual, de modo que, se a conexão com a internet cair, eu possa reconectar e continuar com a sessão anteriormente aberta.

O que eu faço é logar no cluster remoto 'remote.cluster' e digitar

 vncserver :1

então eu abro outro terminal no meu sistema e digito

 ssh -C -NL 5901:remote.cluster:5901 [email protected] &

Então eu inicio o vinagre no meu sistema e conecto usando o protocolo ssh. O problema é que eu não tenho o encaminhamento x11 e não consigo abrir janelas. Se eu tentar conectar usando o protocolo vnc com vinagre ele não conecta, porque eu recebo algo como tempo limite de conexão.

O que devo fazer?

    
por simona 21.11.2012 / 11:56

2 respostas

3

No caso de nos conectarmos a um X-Server remoto via VNC, temos a vantagem de que o aplicativo gráfico continuará funcionando mesmo quando a conexão SSH com o controle remoto estiver inativa. Podemos, então, nos reconectar para retomar a aplicação gráfica. Veja também:

Para acelerar a reconexão, podemos combinar a conexão com o controle remoto com uma sessão SSH usando vncviewer de tightvncviewer com a opção -via . Por isso, podemos executar no servidor remoto:

vncserver:0  ## or any other display number e.g. :1

para estabelecer uma conexão no visualizador por meio de um túnel SSH:

vncviewer -via user@remote localhost:0

Isso exigirá consideravelmente mais largura de banda porque toda a área de trabalho terá que ser transmitida do servidor VNC. Portanto, pode não ser uma boa ideia para conexões com pouca largura de banda, mas isso pode proporcionar uma experiência um pouco melhor em conexões de alta largura de banda, mas instáveis, em comparação com o encaminhamento de X.

    
por Takkat 21.11.2012 / 12:54
1

O comando usado:

ssh -C -NL 5901:localhost:5901 [email protected] &

encaminhar local 5901 - > remote.cluster: 5901

Assim, você pode se conectar ao localhost :: 5901 para conectar-se à sessão VNC em execução no remote.cluster (ao qual você não tem acesso direto).

O encaminhamento do X11 é diferente do VNC. Você precisa usar -X , por exemplo

ssh -X [email protected]

Do que você será capaz de executar aplicações GUI remotas em sua máquina local, contanto que você tenha um X Server rodando localmente (Ubuntu Desktop ou Xming no Windows) .

Atualização:

Eu cometi um erro no encaminhamento, deve ser:

ssh -C -L 5901:localhost:5901 [email protected]

Em seguida, você pode vnc para localhost: 5901, o tráfego será encaminhado para remote.cluster: 5901. Pedido de desculpas pelo descuido ...

Se nenhuma GUI for necessária, considere usar tmux ou screen para evitar a perda da sessão.

    
por Terry Wang 21.11.2012 / 12:21