Se lhe foi útil a informação que encontrou nestas páginas,
por favor ajude-nos a manter este site vendo os anúncios!!!
Por vezes temos de ligar de forma gráfica a máquinas em redes remotas. Uma das formas mais eficientes de fazer isso é utilizando o protocolo VNC (Virtual Network Computing).
Neste artigo vamos ver como se pode fazer isto de forma segura.
Convém deixar bem claro que o protocolo VNC funciona em texto claro, não é por isso um protocolo muito seguro, e além disto, algumas implementações de servidores de VNC sofrem de problemas de segurança. Por outro lado, o SSH pode ser utilizado para estabelecer tuneis seguros entre duas redes, como já mostrámos aqui. Assim, se usarmos os dois protocolos em conjunção conseguimos ter ligações seguras e bastante rápidas.
Vamos supor que queremos ligar de uma máquina local, a um host remoto. A rede onde este host remoto se insere tem exposto à Internet um servidor SSH, com endereço 'ssh.example.com'. Finalmente o host remoto tem como endereço na rede remota '192.168.35.10' e tem a funcionar, na porta 5900, um servidor de VNC com autenticação VNC por password:
Rede Local | Internet | Rede remota
| |
+-----+ | |
|Maq. | | |
|Local+----|----------|--------+ ssh.example.com
+-----+ | | |
| | +----+-----+
| | | FIREWALL |
| | +----+-----+
| | | 192.168.35.0/24
| | \---------+-------+-----+-----+ ....
| | | | | |
| | 192.168.35.10
(Host remoto)
Para estabelecer o túnel deveremos fazer:
$ ssh -l user -C -N -L 5905:192.168.35.10:5900 ssh.example.com
Onde:
Uma vez estabelecida a ligação basta iniciar o cliente VNC noutra shell. Neste caso usei o cliente do RealVNC, versão opensource:
$ vncviewer localhost::5905
Ou:
$ vncviewer localhost:5
Notar que como redirecionamos a porta remota para a porta 5905 local, podemos facilmente estar ligados em simultâneo a vários hosts remotos, sem haver colisão de portas.
É claro que o padrão de utilização descrito atrás é muito comum. Por isso este padrão está também embutido dentro do próprio cliente de VNC. Para estabelecermos o túnel e assim que este esteja em cima abrir a ligação VNC usando esse mesmo túnel basta fazer:
$ vncviewer -via user@ssh.example.com 192.168.35.10
Se quisermos usar outras opções do ssh, entãotemos de definir à priori a variável de ambiente VNC_VIA_CMD, neste caso é mais prático fazer um script:
#!/bin/sh export VNC_VIA_CMD='/usr/bin/ssh -l user -C -f -L "$L":"$H":"$R" "$G" sleep 20' vncviewer -via ssh.example.com 192.168.35.10
A grande vantagem desta solução consiste no facto de pudermos automatizar grande parte do processo. Por exemplo:
[Desktop Entry] Exec[$e]=~/bin/example_com_10.sh Icon=exec Name=Ligar example.com StartupNotify=true Terminal=false Type=Application
E grava-lo no desktop.
Para ligar ao host remoto basta agora dar um duplo clic no icon 'Ligar example.com'.
Deixe a sua mensagem:
na verdade estou procurando alguma forma de deixar o VNC ligado, mesmo quando o usuário utiliza as teclas CTRL ALT DEL, quando ele executa esse comando o VNC não consigo me conectar a máquina, precisava saber ou como deixar ele Ativo mesmo com CTRL ALT DEL, ou como ligar o VNC remotamente, todas as máquinas (desktop), são Windows XP.
Obrigado