Acessando o servidor Linux da máquina Windows no modo gráfico via SSH

7

Eu preciso acessar um dos meus servidores Linux da escola em meu computador de casa que executa o Windows. E preciso acessar o desktop gráfico (servidor X) remotamente, não apenas o shell.

O problema inclui 3 servidores Linux com configurações diferentes. Não tenho privilégios de administrador em nenhum deles e não posso alterar essas configurações. Os 3 servidores são chamados Aisa, Lethe e Aura (alguém ama a mitologia grega aqui). Todos eles fazem parte da rede local da escola.

Eu preciso acessar a interface gráfica em Lethe ou Aura, qualquer um deles estaria bem.

Aqui está o que eu descobri:

  • portas para serviços como VPN não estão disponíveis em nenhuma das três
  • O SSH é permitido em Lethe e Aisa, não em Aura. Eu ainda posso acessar o Aura quando eu SSH para Aisa ou Lethe usando Putty e, em seguida, ssh aura .
  • Eu tentei o programa Xming que permite conexão gráfica do Windows ao Linux via SSH. Eu só consegui me conectar a Aisa dessa maneira (por que não Lethe? Putty trabalha lá).

Então, o que eu posso tentar obter conexão gráfica para Lethe ou Aura do meu computador com Windows? Qualquer sugestão é muito bem vinda.

editar Aqui está o código mostrando como eu me desconectei do Aura de volta para o Aisa depois de executar vncserver :

aisa:/home/user>$ ssh aura
Last login: Sat Oct 13 00:00:00 2012 from aisa.domain.com
aura:/home/user>$ module add vnc
aura:/home/user>$ vncserver

New 'aura.domain.com:1 (user)' desktop is aura.domain.com:1

Starting applications specified in /home/user/.vnc/xstartup
Log file is /home/user/.vnc/aura.domain.com:1.log

aura:/home/user>$ Connection to aura closed by remote host.
Connection to aura closed.
aisa:/home/user>$ 

edite 2 Conteúdo do arquivo /home/user/.vnc/aura.domain.com:1.log após executar o comando vncserver :

aura:/home/user>$ cat /home/user/.vnc/aura.domain.com:1.log
/packages/run/vnc-4.1.2/Xvnc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
/home/user/.vnc/xstartup: line 4: xsetroot: command not found
/home/user/.xsession: line 15: xset: command not found
vncconfig: unable to open display "aura.domain.com:1"
/home/user/.xsession: line 42: xmodmap: command not found
Module xv
Module modules
Module viewers
Module WindowMaker-0.80.2
Module mozilla
ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'mozilla'
stty: standard input: For this device invalid ioctl
wmaker: error while loading shared libraries: libtiff.so.3: cannot open shared object file: No such file or directory

Nota: Eu traduzi algumas strings que foram exibidas em checo (Aura está executando a versão checa do Red Hat)

    
por Rasto 12.10.2012 / 23:40

2 respostas

3

Você pode tentar usar o servidor VNC X. Ele usa porta não privilegiada para se comunicar e pode ser executado sem privilégios de root. Para evitar a construção do VNC, descubra qual porta contém a distro em uso (há um número de opções TigerVNC , OpenVNC , RealVNC , e.t.c.).

Por exemplo, o Fedora 17 tem o pacote tigervnc-server-minimal que tem tudo que você precisa para iniciar um servidor VNC:

/usr/bin/Xvnc 
/usr/bin/vncconfig 
/usr/bin/vncpasswd 
/usr/share/man/man1/Xvnc.1.gz 
/usr/share/man/man1/vncconfig.1.gz 
/usr/share/man/man1/vncpasswd.1.gz

Faça o download, extraia os binários e coloque-os na sua pasta ~ / bin por conveniência.

Primeiro, você precisa executar vncpasswd uma vez em cada sistema para definir uma senha para acessar sua instância do servidor vnc.

Em seguida, inicie o próprio servidor pelo comando Xvnc e observe a exibição iniciada (ele imprime as informações na saída padrão).

Em seguida, você configurará um encaminhamento de porta TCP com putty para a porta com o número 5900+<display number> , por exemplo, para a exibição :1 você deve criar um túnel para a porta 5901:

putty -ssh -L5901:127.0.0.1:5901 user@host

Em seguida, inicie o VncViewer e conecte-se à exibição localhost:1 na sua caixa do Windows.

Quando terminar, não esqueça de parar o servidor Xvnc, por isso não está desperdiçando recursos no servidor:

killall Xvnc

O caso da aura é um pouco mais complexo, já que você não pode entrar diretamente. Se um de seus servidores permitir configurar os túneis para qualquer máquina na LAN, basta criar o túnel adequado, por exemplo:

putty -ssh -L5901:<ip-of-aura>:5901 user@host

Caso contrário, você inicia a sessão ssh com aura com o encaminhamento de porta do shell remoto em aisa ou lethe:

ssh -L5901:127.0.0.1:5901 aura
    
por 13.10.2012 / 01:00
0

O VNC não é a maneira mais fácil de executar um programa GUI. Ele tem benefícios adicionais sobre o método X remoto direto, como não matar o programa se a conexão cair, mas requer mais programas em execução no lado remoto. Eu recomendo Xming + PuTTY ou Xming + Cygwin SSH para o caminho mais fácil.

Execute o servidor Xming e execute o PuTTY, informando-o para encaminhar o X. Como você pode executar programas X no Aisa, você já tem essa parte funcionando. Certifique-se de ter ativado o encaminhamento do X para o Lether e o Aura também.

A razão pela qual isso não funciona no Lethe pode ser que o encaminhamento do X esteja desativado, ou pode ser que esteja faltando algumas bibliotecas. Verifique o valor da variável de ambiente DISPLAY na sessão SSH ( echo $DISPLAY ). Você deve ver algo como localhost:10.0 . Se o valor estiver vazio, o encaminhamento do X falhou. Isso pode ser porque foi desativado pelo administrador do sistema. Verifique a configuração do servidor SSH, geralmente em /etc/sshd_config ou /etc/ssh/sshd_config . Deve conter a linha X11Forwarding yes . Se isso não acontecer, peça ao administrador do sistema para adicioná-lo (não há risco de segurança para o servidor ao fazê-lo, já que o cliente assume todos os riscos e pode ser configurado manualmente - tendo a opção padrão off não faz nenhum sentido, mas é assim que é na configuração padrão do OpenSSH).

Se o encaminhamento do X11 estiver desabilitado no servidor, você ainda poderá fazê-lo funcionar, mas isso requer algum esforço. Você precisará configurar um encaminhamento de porta da porta 6010 no lado remoto para a porta 6000 em localhost: a porta 6000+ N corresponde ao DISPLAY value :N.0 . Defina a variável de ambiente DISPLAY de acordo, por ex. export DISPLAY=localhost:10 para a porta 6010. Se a porta 6010 for tomada em Lethe, escolha uma diferente. Então você precisará copiar o cookie X para o sistema remoto. Eu não sei como extrair o cookie com o Xming. No lado do servidor, execute xauth add localhost:10 0123456789abcdef0123456789abcdef (o número hexadecimal de 32 dígitos é o valor do cookie).

Para o Aura, use o tunelamento SSH. Diga ao PuTTY para se conectar ao Aisa (com o agente e o encaminhamento do X11 habilitados), em seguida, execute o comando ssh -X there.

    
por 15.10.2012 / 00:49