Você já deve ter ouvido falar do LogMeIn, um programa de administração remota de máquinas Windows via Web que permite trabalhar de modo seguro via proxy (https). No entanto, não existe um “LogMeIn para Linux”?
Na verdade não. Mas existe uma técnica muito interessante que combina Your Freedom, corkscrew, x11vnc e SSH, que resulta em uma solução similar ao LogMeIn.
“Os quatro manos”
- Your freedom – Serviço de tunelamento de proxy seguro (https), com clientes para Windows e Linux (requer cadastro gratuito);
- Corkscrew – Tunela o SSH via proxy (vamos usá-lo combinado com o Your Freedom);
- x11vnc – VNC para Linux (testei outros, e só esse deu certo);
- OpenSSH – Esse você já conhece, o shell seguro do Unix.
Modo de Fazer
Ao iniciar o Your Freedom pela primeira vez, um assistente te pedirá o login e a senha que você cadastrou no site e o endereço do servidor proxy da rede. Após configurado estes e escolhido o servidor YF mais rápido, clique em Ligar e a conexão será iniciada, criando um servidor proxy na sua máquina local (127.0.0.1:8080).
Só tem dois problemas: 1) A conexão tem uma banda de 64k (alguém se lembra da discada?); 2) O servidor YF é programado para derrubar a conexão após uma hora, sendo obrigatória uma reconexão. Se alguém tiver uma opção melhor (exceto o UltraSurf, que só funciona no Windows)…
De posse dessas informações, ao instalar o Corkscrew (a partir dos fontes somente), edite o arquivo ~/.ssh/config colocando a seguinte linha:
ProxyCommand /usr/bin/corkscrew 127.0.0.1 8080 %h %p
Vou supor que você usou ./configure –prefix=/usr para que o executável corkscrew fosse compilado em /usr/bin.
Acessando via SSH
Com esses dois programas configurados, abra um terminal e faça o teste:
usuario@local:~$ ssh -C usuario@endereco.fora.da.rede.com
Se te pedir a senha, está tudo certo. Você pode aproveitar a conexão para configurar o VNC na máquina alvo.
Configurando o VNC na máquina alvo
Vou considerar que você instalou o x11vnc, seja pelos fontes ou pelo pacote de sua distribuição.
Seja na própria máquina alvo, seja via acesso remoto, você pode adicionar a seguinte linha:
/usr/bin/x11vnc -display "$DISPLAY" -forever -passwd SUA_SENHA &
Você pode escolher em qual arquivo adicionar a linha, de acordo com o seu gerenciador de login gráfico, lembrando que os caminhos/arquivos variam conforme a distribuição Linux:
- GNOME (GDM): /etc/X11/gdm/Init/Default (ou :0)
- KDE (KDM): /opt/kde/share/config/kdm/Xsetup (ou /etc/kde3/kdm/Xsetup)
- XDM: /etc/X11/xdm/Xsetup (ou Xsetup_0)
Reinicie o gerenciador de login para que as mudanças tenham efeito.
usuario@endereco.fora.da.rede.com:~$ sudo killall xdm # ou kdm, gdm,...
Agora, o pulo do gato
Com outro terminal, ou com o mesmo após deslogado da máquina alvo (o cliente VNC deve estar instalado em sua máquina), digite o seguinte comando:
usuario@local:~$ vncviewer -via endereco.fora.da.rede.com localhost
A máquina alvo te pedirá duas senhas, uma para o acesso SSH e outra para o VNC (SUA_SENHA). Depois disso…
Aí está! Sua máquina alvo diante dos seus olhos. Interessante é que o próprio cliente VNC faz o tunelamento automático do SSH para você (entre o comando acima, cancele com Ctrl+C e veja o resulatado).
Com a ajuda dos “quatro manos”, conseguimos implementar uma alternativa ao LogMeIn para Linux. Agora é a sua vez de tentar.
Veja também: Utilização do x11vnc para administração remota de computadores Linux
[Atualização 23/05/08]
Se você preferir, ao invés de usar os “quatro manos”, também pode usar o SSH com X11 forwarding. Desaconselho para conexões com pouca banda disponível (como a banda do Your Freedom).
Na Internet existe vários tutoriais de como configurar o SSH, o X11, o XDMCP e o Gerenciador de Login para acesso com forwarding, lembrando que o X11 é um ambiente gráfico multisessão (não tem como interfirir na sessão de outro usuário, como no VNC). Para eu compor este artigo, o Google foi essencial.
Basta digitar dois comandos:
usuario@local:~$ ssh -C -Y usuario@endereco.fora.da.rede.com # A senha é de praxe
usuario@endereco.fora.da.rede.com:~$ Xnest -query localhost :1 # Não pode ser :0, tem que ser :1 ou superior
E pronto! Sua máquina local acessada remotamente por detrás de um firewall, agora com X11.


31/05/2009 às 12:13 |
Muito legal vou tentar! Deve funcionar no solaris tb… Com seus respectivos programas… Vou arriscar !
Muito Obrigado. Ficou bem legal.
07/07/2009 às 19:00 |
Muito criativo a alternativa de acesso remoto !!! Parabens pelo Post.
Com certeza direcionado a nos sysadmins !!!
Vou tentar o How to Agora mesmo e posto aqui se funcionou abracos !!!
07/07/2009 às 19:27 |
Na verdade, estudei seu how-to e essa solucao eh totalmente diferente do LogMeIn.
O LogMein funciona da seguinte forma:
Ele permite acesso remoto a varias maquinas que possuem um client previamente instalado. Esse client possui uma conta no LogMeIn para mostrar seu status e permitir um futuro tunelamento.
Esse client faz o tunnelamento mostrando a presenca do host (este alvo) para os servidores do LogMeIn, bypassando qualquer firewall, pois como jah dito eh tunelamento.
Agora o usuario Analista de Suporte com a referida conta da LogMeIn cadastrada, abre o seu painel LogMeIn (no site deles) e em qualquer maquina que possua internet (inclusive com apenas proxy) consegue acessar esse client ALVO tambem atraves de https (tunnelamento). Inclusive apenas com a instalacao de um activeX (que eh o client do lado do Analista de Suporte).
Eh bem diferente desse proposito aqui descrito.
Aqui foi demonstrado que como acessar a Internet via Tunnelamento (bypassando o proxy) e como acessar um VNC configurado na porta de https com ssh. Lembrando que sempre sera necessario alguma abertura de portas do lado do ALVO, ou o mesmo devera ter um ip valido de internet.
Acho que a solucao tah quase lah !
Falta um cara no meio do caminho que seja o Servidor que faz o meio de campo, como eh feito na logmein…
blz ?
de qualquer forma parabens pelo HOW-TO…
Da pra montar um cenario assim…
“Maquina Client” SERVIDOR LOGMELINUX “Maquina Alvo”
Aih sim !
As maquinas Client e Alvo utilizariam o Your Freedom para contatar o Servidor “LOGMELINUX” e ele faz o meio de campo para o tunnelamento.
manja ?
Vamos fazer ?
23/08/2009 às 12:09 |
Eu uso o hamachi e o VNC juntos no linux.
Deu certo e o número de passos é menor.
Quanto à largura de banda usada pelo hamachi, ai já não sei especificar, mas como é uma ferramenta que o pessoal usa pra jogo, não deve ser pequena.
O chato é que você não acessa de qualquer maquina, e sim de maquinas que estejam cadastradas no rede do hamachi. E logicamente, tem que ter o hamachi instalado.