Neste guia, explicaremos como instalar e configurar o Acesso Remoto VNC no CentOS 7/8 e no RHEL 9/8/7 edição desktop por meio do programa tigervnc-server para acessar máquinas de desktop remotas.
VNC (Virtual Network Computing) é um protocolo de servidor-cliente que permite que contas de usuários se conectem remotamente e controlem um sistema distante usando os recursos fornecidos pela Interface Gráfica do Usuário.
Ao contrário de outros servidores VNC disponíveis, que se conectam diretamente ao desktop em tempo de execução, como VNC X ou Vino, o tigervnc-vncserver usa um mecanismo diferente que configura um desktop virtual independente para cada usuário.
Requisitos
- Instalação do CentOS 8 com Capturas de Tela
- Procedimento de Instalação do CentOS 7
- Como Instalar o RHEL 9 de Graça
- Como Instalar o RHEL 8 de Graça
- Procedimento de Instalação do RHEL 7
Passo 1: Instalar e Configurar VNC no CentOS
1. Tigervnc-server é um programa que executa um servidor Xvnc e inicia sessões paralelas de Gnome ou outros ambientes de desktop no desktop VNC.
A started VNC user session can be accessed by the same user from multiple VNC clients. In order to install the TigerVNC server in CentOS/RHEL, open a terminal session and issue the following yum command with root privileges.
$ sudo yum install tigervnc-server

2. Após a instalação do programa, faça login com o usuário que deseja executar o programa VNC e emita o comando abaixo no terminal para configurar uma senha para o servidor VNC. Tenha em mente que a senha deve ter pelo menos seis caracteres.
$ su - your_user $ vncpasswd

3. Em seguida, adicione um arquivo de configuração de serviço VNC para o seu usuário por meio de um arquivo de configuração de daemon colocado na árvore de diretório systemd. Para copiar o arquivo de modelo VNC você precisa executar o seguinte comando cp com privilégios de root.
Se o usuário não tiver privilégios sudo concedidos, mude diretamente para a conta raiz ou execute o comando a partir de uma conta com privilégios de raiz.
# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
4. No próximo passo, edite o arquivo de configuração de modelo VNC copiado do diretório /etc/systemd/system/ e substitua os seguintes valores para refletir seu usuário, conforme mostrado no exemplo abaixo.
O valor de 1
após o sinal @
representa o número de exibição (porta 5900+exibição
). Além disso, para cada servidor VNC iniciado, a porta 5900 será incrementada em 1.
# vi /etc/systemd/system/vncserver@\:1.service
Adicione as seguintes linhas ao arquivo vncserver@:1.service.
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking User=tecmint Group=tecmint WorkingDirectory=/home/tecmint ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver %i -geometry 1280x1024 PIDFile=/home/tecmint/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multi-user.target

5. Depois de fazer as alterações apropriadas no arquivo de serviço VNC, recarregue o programa de inicialização do sistema systemd para detectar o novo arquivo de configuração VNC e inicie o servidor TigerVNC.
Além disso, verifique o status do serviço VNC e habilite o daemon VNC em todo o sistema emitindo os comandos abaixo.
# systemctl daemon-reload # systemctl start vncserver@:1 # systemctl status vncserver@:1 # systemctl enable vncserver@:1

6. Para listar as portas abertas no estado de escuta pertencentes ao servidor VNC, execute o comando ss, que é usado para exibir soquetes de rede. Como você iniciou apenas uma instância do servidor VNC, a primeira porta aberta é 5901/TCP.
Novamente, o comando ss deve ser executado com privilégios de root. Caso você inicie outras instâncias VNC em paralelo para diferentes usuários, 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 aplicativos X se conectem ao servidor VNC.
# ss -tulpn| grep vnc

7. Para permitir que clientes VNC externos se conectem ao servidor VNC, você precisa garantir que as portas abertas do VNC apropriadas possam passar pelo seu firewall.
Caso apenas uma instância do servidor VNC seja 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
Etapa 2: Conectando ao Desktop do CentOS via Cliente VNC
8. Sendo um protocolo independente de plataforma, conexões remotas Graphical User Interface VNC podem ser realizadas a partir de quase qualquer sistema operacional com uma GUI e um cliente VNC especializado.
A popular VNC client used in Microsoft-based operating systems, fully compatible with Linux TigerVNC server, is the RealVNC VNC Viewer.
Para se conectar remotamente ao CentOS Desktop a partir de um sistema operacional da Microsoft via protocolo VNC, abra o programa VNC Viewer, adicione o endereço IP e o número da porta do servidor VNC do CentOS e pressione a tecla [enter].
Após a conexão VNC ser estabelecida, um aviso dizendo que a conexão não está criptografada deve ser exibido na sua tela, conforme ilustrado nas capturas de tela abaixo.


9. Para ignorar o aviso, clique no botão Continue, adicione a senha configurada para o servidor VNC no ponto 2 e você deve estar conectado remotamente ao CentOS Desktop com o usuário configurado para executar a instância do servidor VNC.


10. Caso uma nova mensagem de Autenticação apareça na sua tela e seu usuário não tenha privilégios de root, basta clicar no botão Cancel para continuar para o CentOS Desktop, conforme mostrado na captura de tela abaixo.

Tenha em mente que a comunicação VNC estabelecida entre o servidor e o cliente e qualquer dado trocado (exceto a senha) são transmitidos por um canal não criptografado. Para criptografar e proteger a transferência de dados da VPN, primeiro você precisa configurar um túnel SSH seguro e executar qualquer tráfego subsequente da VPN sobre o túnel SSH.
11. Para se conectar remotamente ao CentOS Desktop via protocolo VNC a partir de outros desktops CentOS, primeiro certifique-se de que o pacote vinagre esteja instalado em seu sistema emitindo o comando abaixo.
$ sudo yum install vinagre
12. Para abrir a utilidade vinagre, vá para Aplicativos -> Utilitários -> Visualizador de Área de Trabalho Remota como mostrado na captura de tela abaixo.

13. Para conectar-se remotamente a um Desktop CentOS, clique no botão Conectar, selecione o protocolo VNC na lista e adicione o endereço IP e a porta (5900+número de exibição) do servidor VNC remoto. Além disso, forneça a senha configurada para o usuário VNC, conforme ilustrado nas capturas de tela a seguir.



14. Outro cliente VNC popular para plataformas baseadas em Linux é Remmina, um cliente de desktop remoto que é especialmente usado em distribuições baseadas em Debian que executam o ambiente de desktop GNOME.
Para instalar o cliente Remmina Remote Desktop em distribuições baseadas em Debian, execute o seguinte comando.
$ sudo apt-get install remmina
Etapa 3: Configure Múltiplas Sessões VNC no CentOS
15. Caso você precise executar uma nova sessão VNC paralela sob o mesmo usuário, abra um console de terminal, faça login com o usuário que deseja iniciar a nova sessão VNC e execute o comando abaixo.
Ao iniciar o servidor pela primeira vez, será solicitado que você forneça uma nova senha para esta sessão. No entanto, tenha em mente que essa sessão é executada com as permissões do usuário logado e de forma independente da sessão do servidor VNC systemd iniciada.
$ vncserver

16. As novas sessões VNC abrirão nas próximas portas VNC disponíveis (5900+3 neste exemplo de exibição). Para exibir as portas abertas, execute o comando ss sem privilégios de root conforme ilustrado no trecho abaixo. Ele listará apenas as sessões VNC iniciadas atribuídas ao seu usuário.
$ ss -tlpn| grep Xvnc

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

Para interromper as instâncias do servidor VNC iniciadas com as permissões deste usuário conectado, emita o seguinte comando sem privilégios de root. Este comando destruirá todas as instâncias VNC iniciadas pertencentes apenas ao usuário que as iniciou.
$ su - your_user $ killall Xvnc
É isso! Agora você pode acessar o seu sistema CentOS e realizar tarefas administrativas usando a interface gráfica fornecida pelo sistema operacional.
Source:
https://www.tecmint.com/install-and-configure-vnc-server-in-centos-7/