Como instalar e configurar o VNC Server no CentOS 7

Neste guia vamos explicar como instalar e configurar o VNC Remote Access na última versão do CentOS 7 e RHEL 7 Desktop edition via programa tigervnc-server.

VNC (Virtual Network Computing) é um protocolo servidor-cliente que permite que as contas de usuário se conectem e controlem remotamente um sistema distante usando os recursos fornecidos pela Interface Gráfica do Usuário.

Unlike other VNC servers available which connects directly to the runtime desktop, such as VNC X or Vino, tigervnc-vncserver usa um mecanismo diferente que configura um desktop virtual autônomo para cada usuário.

Requisitos

  1. CentOS 7 Procedimento de Instalação
  2. RHEL 7 Procedimento de Instalação

Passo 1: Instalação e Configuração do VNC no CentOS 7

1. O Tigervnc-server é um programa que executa um servidor Xvnc e inicia sessões paralelas do Gnome ou outro Ambiente de Trabalho no ambiente de trabalho VNC.

Uma sessão iniciada do usuário VNC pode ser acessada pelo mesmo usuário a partir de múltiplos clientes VNC. Para instalar o servidor TigerVNC no CentOS 7, abra uma sessão Terminal e emita o seguinte comando com privilégios de root.

$ sudo yum install tigervnc-server

2. Depois de instalar o programa, faça o login com o usuário que deseja executar o programa VNC e emita o comando abaixo no terminal a fim de configurar uma senha para o servidor VNC.

Esteja ciente que a senha deve ter pelo menos seis caracteres de comprimento.

$ su - your_user # If you want to configure VNC server to run under this user directly from CLI without switching users from GUI$ vncpasswd

3. A seguir, adicione um ficheiro de configuração do serviço VNC para o seu utilizador através de um ficheiro de configuração de daemon colocado na árvore de directórios do systemd. Para copiar o arquivo de modelo VNC você precisa executar o seguinte comando com privilégios de root.

Se seu usuário não tiver privilégios sudo, troque diretamente para conta root ou execute o comando a partir de uma conta com privilégios de root.

# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

4. No próximo passo edite o arquivo de configuração do modelo VNC copiado do diretório /etc/systemd/system/ e substitua os valores para refletir o seu usuário, como mostrado no exemplo abaixo.

O valor de 1 após o sinal @ representa o número de exibição (porta 5900+display). Também, para cada servidor VNC iniciado, a porta 5900 será incrementada em 1.

# vi /etc/systemd/system/vncserver@\:1.service

Adicionar as seguintes linhas ao ficheiro vncserver@:1.service.

Description=Remote desktop service (VNC)After=syslog.target network.targetType=forkingExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'ExecStart=/sbin/runuser -l my_user -c "/usr/bin/vncserver %i -geometry 1280x1024"PIDFile=/home/my_user/.vnc/%H%i.pidExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'WantedBy=multi-user.target

5. Depois de ter feito as devidas alterações no ficheiro de serviço VNC, recarregue o programa de inicialização do sistema para pegar no novo ficheiro de configuração vnc e iniciar o servidor TigerVNC.

Also, verifique o estado do serviço VNC e active o daemon VNC em todo o sistema através da emissão dos comandos abaixo.

# systemctl daemon-reload# systemctl start vncserver@:1# systemctl status vncserver@:1# systemctl enable vncserver@:1
Inicie o serviço VNC

6. Para listar as portas abertas em estado de escuta pertencentes ao servidor VNC, execute o comando ss, que é usado no CentOS 7 para exibir soquetes de rede. Como você só iniciou uma instância do servidor VNC, a primeira porta aberta é 5901/TCP.

Again, o comando ss deve ser executado com privilégios de root. Caso você inicie outras instâncias VNC em paralelo para usuários diferentes, o valor da porta será 5902 para a segunda, 5903 para a terceira e assim por diante. As portas 6000+ são usadas para permitir que as aplicações X se conectem ao servidor VNC.

# ss -tulpn| grep vnc
Verify VNC Listening Ports

7. Para permitir que clientes VNC externos se conectem ao servidor VNC no CentOS, você precisa ter certeza de que as portas VNC abertas apropriadas possam passar pelo seu firewall.

No caso de apenas uma instância do servidor VNC ser iniciada, você só precisa abrir a primeira porta VNC alocada: 5901/TCP emitindo os comandos abaixo para aplicar a configuração do firewall em tempo de execução.

# firewall-cmd --add-port=5901/tcp# firewall-cmd --add-port=5901/tcp --permanent

Passo 2: Conectando ao CentOS Desktop via VNC Client

8. Sendo um protocolo independente da plataforma, conexões VNC de Interface Gráfica de Usuário remota podem ser feitas de quase qualquer sistema operacional com uma GUI e um cliente VNC especializado.

Um cliente VNC popular usado em sistemas operacionais baseados em Microsoft, totalmente compatível com o servidor Linux TigerVNC, é o RealVNC VNC Viewer.

A fim de conectar remotamente ao CentOS Desktop de um sistema operacional Microsoft via protocolo VNC, abra o programa VNC Viewer, adicione o endereço IP e o número da porta do servidor CentOS VNC e pressione a tecla .

Após a conexão VNC ter sido estabelecida, um aviso dizendo que a conexão não está criptografada deve ser exibida na sua tela como ilustrado nas capturas de tela abaixo.

VNC Viewer Client
VNC Viewer Client Connection

9. Para ignorar o aviso, pressione o botão Continuar, adicione a senha de configuração do servidor VNC no ponto 2 e você deverá estar conectado remotamente ao CentOS Desktop com o usuário configurado para executar a instância do servidor VNC.

>>
Senha de Usuário do Servidor VNC
VNC Remote CentOS Desktop

10. Caso uma nova mensagem de autenticação apareça em sua tela e seu usuário não tenha privilégios de root, basta pressionar o botão Cancelar para continuar para CentOS Desktop, como mostrado na captura de tela abaixo.

>
VNC Server Authentication Warning

Esteja ciente de que a comunicação VNC estabelecida entre o servidor e o cliente e quaisquer dados trocados (exceto a senha) correm sobre um canal não criptografado. Para criptografar e proteger a transferência de dados VPN, primeiro você precisa configurar um túnel SSH seguro e rodar qualquer tráfego VPN subsequente sobre o túnel SSH.

11. Para se conectar remotamente ao CentOS Desktop via protocolo VNC de outro CentOS Desktop, primeiro certifique-se de que o pacote vinagre está instalado em seu sistema, emitindo o comando abaixo.

$ sudo yum install vinagre

12. Para abrir o utilitário vinagre, vá para Applications -> Utilities -> Remote Desktop Viewer como mostrado na imagem abaixo.

Open Vinagre Tool

13. Para conectar remotamente a um Desktop CentOS, pressione o botão Connect, selecione o protocolo VNC da lista e adicione o endereço IP e a porta (5900+ número do display) do servidor VNC remoto. Também, forneça a configuração da senha para o usuário VNC como ilustrado nas seguintes telas.

Select Remote Desktop Protocol
Enter Remote VNC Details
Remote VNC CentOS Desktop

14. Outro cliente VNC popular para plataformas baseadas em Linux é o Remmina, é um cliente desktop remoto é especialmente usado em distribuições baseadas em Debian que rodam o ambiente desktop GNOME.

Para instalar o cliente Remmina Remote Desktop em distribuições baseadas em Debian, digite o seguinte comando.

$ sudo apt-get install remmina

Passo 3: Configure Múltiplas Sessões VNC no CentOS 7

15. Caso você precise executar uma nova sessão VNC paralela sob o mesmo usuário, abra um console do Terminal, faça o login com o usuário que você deseja iniciar a nova sessão VNC e execute o comando abaixo.

Quando você iniciar o servidor pela primeira vez, você será solicitado a fornecer uma nova senha para esta sessão. Entretanto, esteja ciente que esta sessão roda com suas permissões de usuário logado e independentemente da sessão iniciada do servidor VNC do sistema.

$ vncserver
Inicie a nova sessão VNC

16. As novas sessões de VNC abrirão as próximas portas VNC disponíveis (5900+3 neste exemplo). Para exibir as portas abertas, execute o comando ss sem privilégios de root como ilustrado no trecho abaixo. Ele listará somente as sessões VNC iniciadas devidas pelo seu usuário.

$ ss -tlpn| grep Xvnc
Listar Portas Abertas VNC

17. Agora, conecte-se remotamente ao CentOS Desktop usando esta nova sessão VNC, forneça a combinação IP:porta (192.168.1.23:5903) no cliente VNC como ilustrado na imagem abaixo.

>>
Conecte ao VNC Remote Desktop

A fim de parar as instâncias do servidor VNC iniciadas com este login de permissões de usuário, emita o seguinte comando sem privilégios de root. Este comando destruirá todas as instâncias VNC iniciadas pertencentes somente ao usuário que as declarou.

$ su - your_user$ killall Xvnc

Ler Também: Instalar Remotamente CentOS 7 ou RHEL 7 Usando o Modo VNC

Leia também! Agora você pode acessar seu sistema CentOS 7 e realizar tarefas administrativas usando a interface gráfica de usuário fornecida pelo sistema operacional.

Deixe uma resposta

O seu endereço de email não será publicado.