Acessando Linux e Windows remotamente com TightVNC
Índice
Recentemente tive que acessar uma máquina com Slackware64 remotamente, o que sempre fiz via ssh e xhost, quando necessitava abrir algum aplicativo gráfico remotamente. Isto geralmente resolve o problema, mas há casos em que um acesso remoto mais completo é necessário, principalmente quando de necessita para dar uma assessoria mais direta a um usuário. Para este serviço uma ferramente VNC, Virtual Network Computing, é bem vinda.
À partir da versão 13.0 do Slackware 32, e também 64 bits, o Patrick Volkerding passou a incluir o pacote do TightVNC do diretório extra. Neste texto vou apresentar os poucos passos necessários para colocar o TightVNC em ação no Slackware.
Instalando
OBS: Os procedimentos descritos aqui foram realizados no Slackware64-current e, por isto, algumas versões/arquiteturas utilizadas podem não ser as mais adequadas para a sua versão. Favor adaptar às suas necessidades.
Instale o TightVNC, do diretório extra do Slackware64 13.0, da forma convencional do Slackware:
installpkg /media/cdrom/extra/tightvnc/tightvnc-1.3.10-x86_64-1.txz
Iniciando o serviço
OBS: Os procedimentos descritos a seguir devem ser feitos apenas no servidor. No entanto na máquina cliente é necessário instalar o pacote com os procedimentos anteriores.
Para iniciar o serviço funcione, é necessário executar o script rc.vncservers no diretório /etc/rc.d. Para isto mude a sua permissão e execute como nas linhas abaixo:
chmod +x /etc/rc.d/rc.vncservers [prompt]/etc/rc.d/rc.vncservers start Starting VNC server: success
Não há a necessidade de editar nenhum outro arquivo de configuração. Em seguida adicione as linhas abaixo ao final do /etc/rc.d/rc.local, para que o vncserver seja inicializado a cada inicialização.
# Start vncserver
if [ -x /etc/rc.d/rc.vncservers ]; then
/etc/rc.d/rc.vncservers start
fi
Estes serviços geralmente são incluídos nos scripts rc.* do sistema, mas até o momento ainda não foi incluído aos scripts do Slackware.
Criando uma conexão remota
O KDE possui dois aplicativos bastante úteis para fazer a conexão via o VNC, são eles:
- Krfb (Desktop Sharing) – para gerenciar o acesso à área no lado do servidor;
- KRDC (Remote Desktop Client) – para gerenciar a conexão no lado do cliente.
Além destes existe ainda o vncviewer, que vem com o pacote TightVNC, que faz o mesmo que o KRDC acima. O procedimento a seguir serve tanto para o vncviewer como para o KRDC.
Acionando o Servidor
Logue com um usuário que irá compartilhar a área no servidor (onde foi iniciado o rc.svnservers) e execute o aplicativo Krfb. Seu link fica na pasta Internet, no menu de aplicativos do Kde.
Isto irá abrir o diálogo semelhante ao abaixo:
Existe três formas de distinras, oferecidas pelo Krfb, para controlar o acesso remoto ao seu Desktop:
- New Personal Invitation… – por meio de um convinte pessoal;
- New Email Invitation… – enviando um convinte por email;
- Abrindo conexões para não convidados… – através da configuração das permissões do Krfb, normalmente desabilitadas.
Personal Invitation…
O convinte pessoal é a forma mais segura de conexão remota, deste que se tome cuidado ao transferrir a senha para o acesso ao cliente. Ao pressionar o botão New Personal Invitation…, um convinte de conexão, semelhante ao do diálogo abaixo, será gerado em uma porta disponível (5900+n), com a duração de apenas uma hora, ou até que a conexão seja fechada.
O Host e o Password devem ser repassados ao cliente, para fazer a conexão ao desktop. Após isto feche o diálogo e verifique que o convite aparecerá listado no diálogo principal, com o tempo de criação de a validade, veja abaixo.
Agora vá para a máquina cliente e execute o KRDC, que deve abrir o diálogo a seguir:
A lista à esquerda irá apresentar a lista de servidores disponíveis para a conexão. Dê um duplo clique no servidor desejado, para abrir o próximo diálogo. Caso o endereço do IP do servidor desejado não apareça nesta lista, adicione o ip, eventualmente com a porta, na linha “Remote desktop: vnc” e pressione enter.
O próximo diálogo requisita a qualidade da conexão:
Como a conexão é temporária, não justifica armazenar a senha no KWallet. Apenas selecione a qualidade mais adequada para a sua conexão e pressione Ok.
O KRDC deve mudar mapa a imagem abaixo:
Neste momento, no servidor deve aparecer um diálogo de confirmação como o abaixo:
Caso deseje apenas que o cliente veja o que está acontecendo no desktop do servidor, desmarque a caixa de seleção deste diálogo. Para prosseguir com a conexão pressione Ok. No cliente aparecerá mais um último diálogo, solicitando a senha para a conexão.
Coloque a senha gerada pelo servidor e pressione Ok. Se não houver nenhum outro inconveniente, a conexão deve ser estabelecida e o desktop do servidor deve aparecer na área, anteriormente azul.
Um Control+Shift+F permuta entre modo Full Screen e janela, no aplicativo.
Email Invitation…
Esta forma de conexão é semelhante a descrita anteriormente, com a diferença de que o endereço da conexão, porta e senha serão enviados por email para o cliente. Nestes casos pode ser aconselhável o uso de algum tipo de encriptação no envio do email, caso a segurança do servidor seja crítica. O email gerado para envio é semelhante ao exemplo abaixo:
You have been invited to a VNC session.
If you have the KDE Remote Desktop Connection installed, just click
on the link below.
vnc://invitation:Uc8Z-Bmh@172.16.3.226:5900
Otherwise you can use any VNC client with the following parameters:
Host: 172.16.3.226:5900
Password: Uc8Z-Bmh
For security reasons this invitation will expire at 2010-03-31 13:22.
No restante o processo de conexão é o mesmo descrito anteriormente.
Abrindo conexões permanentes…
As conexões descritas acima são canceladas após uma hora ou caso a seção seja fechada no cliente, o que acontecer primeiro. Esta outra forma de conexão mantêm a as portas “abertas” permanentemente, ou até que o serviço seja suspenso. Isto deve ser usado em casos de necessidade real, pois pode deixar o servidor inseguro.
Para configurar esta último tipo de conexão, pressione o botão configure, na parte inferior do diálogo principal. Isto deve abrir um diálogo de configuração, semelhante ao apresentado a seguir.
A primeira página deste diálogo de configuração permite ao VNC anunciar o serviço na rede local, o que é necessário para que os clientes em potencial encontrem o serviço. Para conexões esporádicas isto não é necessariamente inseguro. Nesta página ainda é possível configurar a porta que o servidor irá escutar. A porta padrão (5900) é suficiente.
A próxima página do diálogo de configuração, seleciona alguns quesitos de segurança. A primeira opção dá a permissão para a conexão de não convidados, a segunda permite que o cliente tome controle total sobre o seu Desktop (mouse e teclado). A última opção faz com que o Krfb solicite a permissão do usuário do desktop, sempre que uma conexão sem convites for solicitada, o que bastante aconselhável.
Com isto o servidor está pronto para receber uma conexão de um cliente sem convite.
O restante do procedimento da conexão segue as mesmas instruções anteriores.
Servidor Windows
O TightVNC possui versão para Windows, com uma interface gráfica cheia de recursos. Não vou entrar em detalhes sobre estes recursos, ainda porque não tenho muito acesso a este sistema.
Testei em uma máquina com WindowsXP a versão 1.3.10 do TightVNC: TightVNC 1.3.10
O link para o servidor é Launch TightVNC Server. Não mexi muito no aplicativo, apenas testei a funcionalidade da conexão com o cliente KRDC no Linux.
Altere a senha para algo de seu conhecimento e clique no botão Apply. Após isto o IP do servidor Windows deve constar na lista à esquerda do cliente KRDC. Para fazer a conexão, basta dar um duplo clique no IP do servidor e colocar a senha.
Na configuração padrão do TightVNC Server do Windows, ele não solicita autorização do usuário no servidor. Não dediquei muito tempo no TightVNC Server no Windows, mas sei que é possível de configurá-lo para agir de forma semelhante ao Krfb do KDE.
Não fiz nenhum outro teste com o TightVNC Server no Windows, pois este já atendia às minhas necessidades.
2 Comentários