Neste guia, explicaremos como instalar e configurar Acesso Remoto VNC em CentOS 7/8 e RHEL 9/8/7 edição desktop via o programa tigervnc-server para acessar máquinas de desktop remoto.
VNC (Computação de Rede Virtual) é um protocolo servidor-cliente que permite que contas de usuário 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, 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 o VNC no CentOS
1. Tigervnc-server é um programa que executa um servidor Xvnc e inicia sessões paralelas do 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. Depois de instalar o programa, faça login com o usuário que você 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 seu 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 a partir do /etc/systemd/system/ diretório 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 por 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 capturar 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 do 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 os 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 apropriadas do VNC sejam permitidas para passar pelo seu firewall.
Caso apenas uma instância do servidor VNC seja iniciada, você só precisa abrir a primeira porta alocada do VNC: 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 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, uma mensagem de aviso indicando que a conexão não está criptografada deve ser exibida 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 de VPN subsequente sobre o túnel SSH.
11. Para se conectar remotamente ao CentOS Desktop via protocolo VNC a partir de outros desktops do CentOS, primeiro verifique se o pacote vinagre está 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 se conectar 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 é o 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
Passo 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, você será solicitado a fornecer 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 do VNC serão abertas nas próximas portas disponíveis baseadas em VNC (exemplo: 5900+3 neste caso). Para exibir as portas abertas, execute o comando ss sem privilégios de root conforme ilustrado no excerto abaixo. Ele listará apenas as sessões VNC iniciadas pertencentes ao seu usuário.
$ ss -tlpn| grep Xvnc

17. Agora, conecte-se remotamente ao Desktop 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 logado, emita o seguinte comando sem privilégios de root. Este comando destruirá todas as instâncias VNC iniciadas apenas pelo usuário que as iniciou.
$ su - your_user $ killall Xvnc
É isso aí! Agora você pode acessar 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/