Como instalar e configurar VNC no Ubuntu 20.04

introdução

Virtual Network Computing, ou VNC, é um sistema de conexão que lhe permite usar o seu teclado e mouse para interagir com um ambiente de trabalho gráfico num servidor remoto. Ele torna a gestão de arquivos, software e configurações em um servidor remoto mais fácil para os usuários que ainda não estão confortáveis com a linha de comando.

neste guia, você irá configurar um servidor VNC com o TightVNC num servidor Ubuntu 20.04 e ligar-se a ele de forma segura através de um túnel SSH., Em seguida, você vai usar um programa cliente VNC em sua máquina local para interagir com o seu servidor através de um ambiente de trabalho gráfico.

pré-requisitos

para completar este tutorial, terá de:

  • um servidor Ubuntu 20.04 com um utilizador administrativo não-root e uma firewall configurada com UFW. Para configurar isso, siga o nosso guia inicial de configuração do servidor para Ubuntu 20.04. um computador local com um cliente VNC instalado. O cliente VNC que você usa deve suportar conexões sobre túneis SSH:
    • nas janelas, você pode usar o TightVNC, RealVNC ou UltraVNC.,
    • em macOS, você pode usar o programa de compartilhamento de tela incorporado, ou pode usar um aplicativo de plataforma cruzada como o RealVNC.
    • No Linux, você pode escolher entre várias opções, incluindo vinagre krdc, RealVNC, ou TightVNC.

Step 1-Instalar o ambiente de trabalho e o servidor VNC

por omissão, um servidor Ubuntu 20.04 não vem com um ambiente de trabalho gráfico ou um servidor VNC instalado, por isso você irá começar por instalá-los.,

Você tem muitas opções quando se trata de qual servidor VNC e ambiente de desktop você escolhe. Neste tutorial, você irá instalar pacotes para o mais recente ambiente de trabalho Xfce e o pacote TightVNC disponível no repositório oficial do Ubuntu. Ambos Xfce e TightVNC são conhecidos por serem leves e rápidos, o que ajudará a garantir que a conexão VNC será suave e estável, mesmo em conexões de internet mais lentas.,

Depois de se conectar ao seu servidor com SSH, atualizar sua lista de pacotes:

  • sudo apt update

Agora instalar o Xfce, juntamente com a xfce4-goodies pacote, que contém algumas melhorias para o ambiente de área de trabalho:

  • sudo apt install xfce4 xfce4-goodies

Durante a instalação, você pode ser solicitado a escolher um padrão de tela o gerenciador de tela para o Xfce. Um gerenciador de display é um programa que lhe permite selecionar e conectar-se a um ambiente de desktop através de uma interface gráfica., Você só estará usando Xfce quando se conectar com um cliente VNC, e nessas sessões Xfce você já estará logado como seu usuário não-root Ubuntu. Assim, para os propósitos deste tutorial, sua escolha de Gerenciador de exibição não é pertinente. Seleccione um e carregue em ENTER.,

uma Vez que a instalação for concluída, instale o TightVNC server:

  • sudo apt install tightvncserver

em seguida, executar o vncserver comando para definir um VNC senha de acesso, criar os arquivos de configuração inicial, e iniciar um servidor VNC exemplo:

  • vncserver

será solicitado que Você digite e confirme uma senha para acessar sua máquina remotamente:

Output
You will require a password to access your desktops.Password:Verify:

A senha deve ter entre seis e oito caracteres. Senhas com mais de 8 caracteres serão truncadas automaticamente.,

Uma vez que verifique a senha, terá a opção de criar uma senha apenas para visualização. Os usuários que se conectam com a senha só de visualização não serão capazes de controlar a instância VNC com seu mouse ou teclado. Esta é uma opção útil se você quiser demonstrar algo para outras pessoas usando o seu servidor VNC, mas isso não é necessário.

o processo então cria os arquivos de configuração padrão necessários e informações de conexão para o servidor. Além disso, ele lança uma instância de servidor padrão no port 5901., Esta porta é chamada de porta de exibição, e é referida por VNC como :1. O VNC pode iniciar várias instâncias em outras portas de ecrã, com :2 referindo-se a porta 5902 :3 referindo-se a 5903, e assim por diante:

Note que se você quiser alterar a sua palavra-passe ou adicionar um modo de exibição somente de palavra-passe, você pode fazer isso com o vncpasswd comando:

  • vncpasswd

neste ponto, o VNC server está instalado e em execução., Agora vamos configurá-lo para lançar o Xfce e dar-nos acesso ao servidor através de uma interface gráfica.

Passo 2-Configurar o servidor de VNC

o servidor de VNC precisa de saber quais os comandos a executar quando inicia. Especificamente, o VNC precisa saber a que Ambiente de trabalho gráfico ele deve se conectar.

os comandos que o servidor VNC executa no arranque estão localizados num ficheiro de configuração chamado xstartup no .vnc pasta sob a sua pasta pessoal., O programa inicial foi criado quando executou o comando vncserver no passo anterior, mas irá criar o seu próprio para lançar o ecrã Xfce.,e VNC server é configurado, primeiro pare o servidor de VNC instância que está sendo executado na porta 5901 com o seguinte comando:

  • vncserver -kill :1

A saída será semelhante a este, embora você verá um PID diferente:

Output
Killing Xtightvnc process ID 17648

Antes de modificar o xstartup arquivo, cópia original:

  • mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Agora crie um novo xstartup arquivo e abra-o em um editor de texto, como nano:

  • nano ~/.vnc/xstartup

em Seguida, adicione as seguintes linhas para o arquivo:

~/.,vnc/xstartup
#!/bin/bashxrdb $HOME/.Xresourcesstartxfce4 &

A primeira linha é um shebang. Em arquivos de texto simples executáveis em plataformas *nix, um shebang diz ao sistema para que intérprete passar esse arquivo para a execução. Neste caso, está a passar o ficheiro ao intérprete da Bash. Isto permitirá que cada linha sucessiva seja executada como comandos, em ordem.

o primeiro comando no ficheiro, xrdb $HOME/.Xresources, diz à plataforma GUI da VNC para ler o utilizador do servidor .Xresources ficheiro., .Xresources é onde um usuário pode fazer alterações em certas configurações do desktop gráfico, como cores de terminal, temas de cursor e renderização de fontes. O segundo comando diz ao servidor para lançar o Xfce. Sempre que iniciar ou reiniciar o servidor VNC, estes comandos serão executados automaticamente.

gravar e fechar o ficheiro após adicionar estas linhas. Se você usou o nano, fazê-lo pressionando CTRL + X Y, então ENTER.,

Para garantir que o servidor de VNC será capaz de usar este novo arquivo de inicialização corretamente, você vai precisar para torná-lo executável:

  • chmod +x ~/.vnc/xstartup

em Seguida, reinicie o servidor de VNC:

  • vncserver -localhost

Observe que desta vez o comando inclui o -localhost opção, que se vincula o servidor VNC para seu servidor de interface de loopback. Isso fará com que o VNC só permita conexões que se originem do servidor no qual ele está instalado.,no próximo passo, irá estabelecer um túnel SSH entre a sua máquina local e o seu servidor, essencialmente enganando o VNC para pensar que a ligação da sua máquina local teve origem no seu servidor. Esta estratégia irá adicionar uma camada adicional de segurança em torno de VNC, como os únicos usuários que serão capazes de acessá-lo são aqueles que já têm acesso SSH ao seu servidor.

Você verá saída semelhante a esta:

com a configuração no lugar, você está pronto para se conectar ao servidor VNC a partir de sua máquina local.,

Passo 3-ligar-se ao ecrã VNC de forma segura

VNC em si não usa protocolos seguros ao ligar-se. Para se conectar com segurança ao seu servidor, você vai estabelecer um túnel SSH e, em seguida, dizer ao seu cliente VNC para se conectar usando esse túnel, em vez de fazer uma conexão direta.

crie uma ligação SSH no seu computador local que encaminhe de forma segura para a localhost ligação para VNC., Você pode fazer isso via terminal no Linux ou macOS, com o seguinte ssh comando:

  • ssh -L 59000:localhost:5901 -C -N -l sammy your_server_ip

Aqui está o que este ssh opções do comando dizer:

  • -L 59000:localhost:5901: -L parâmetro especifica que o dado porta no computador local (59000), é para ser encaminhado a um dado host e porta do servidor de destino (localhost:5901, o que significa porta 5901 no servidor de destino, definido como your_server_ip)., Note que o porto local que você indicar é um pouco arbitrário; desde que o porto não esteja já ligado a outro serviço, você pode usá-lo como o porto de encaminhamento para o seu túnel.
  • -C: esta bandeira permite a compressão que pode ajudar a minimizar o consumo de recursos e acelerar as coisas.
  • -N: esta opção diz a ssh que não deseja executar nenhum comando remoto. Esta configuração é útil quando você só quer encaminhar portas.,
  • -l sammy your_server_ip: o -l switch indique o utilizador que deseja ligar-se assim que se ligar ao servidor. Certifique-se de substituir sammy e your_server_ip com o nome do seu usuário não-root e o endereço IP do servidor.

Nota: Este comando estabelece um túnel SSH que transmite as informações a partir de port 5901 no seu servidor VNC para a porta 59000 no computador local através da porta 22 em cada máquina, a porta padrão do SSH., Assumindo que você seguiu o Guia de Configuração Inicial do servidor pré-requisito para Ubuntu 20.04, você terá adicionado uma regra UFW para permitir conexões ao seu servidor sobre OpenSSH.

isto é mais seguro do que simplesmente abrir a firewall do seu servidor para permitir ligações ao port 5901, pois isso permitiria a qualquer um aceder ao seu servidor através de VNC. Ao conectar-se através de um túnel SSH, você está limitando o acesso VNC a máquinas que já têm acesso SSH ao servidor.,

Se estiver a usar o PuTTY para se ligar ao seu servidor, poderá criar um túnel SSH se carregar com o botão direito na barra superior da janela do terminal, Carregando depois na opção mudar as opções…:

Encontre o ramo de ligação no menu árvore do lado esquerdo da janela de reconfiguração PuTTY. Expandir o ramo SSH e clicar em túneis., Em Opções de controlo do SSH encaminhamento de porta de tela, digite 59000 como a Porta de Origem e localhost:5901 como o Destino, como este:

em Seguida, clique no botão Adicionar e, em seguida, o botão Aplicar para implementar o túnel.

Uma vez que o túnel esteja funcionando, use um cliente VNC para se conectar a localhost:59000. Ser-lhe-á pedido para autenticar usando a senha que definiu no Passo 1.

Uma vez ligado, irá ver o ecrã Xfce por omissão., Ele deve se parecer com algo assim:

Você pode acessar arquivos no seu diretório home com o gestor de ficheiros ou a partir da linha de comando, como visto aqui:

Pressione CTRL+C no seu terminal local para parar o túnel SSH e retornar ao prompt. Isto irá desligar a sua sessão VNC também.

Agora você pode configurar o seu servidor VNC para ser executado como um serviço systemd.,

Passo 4-execução de VNC como um serviço de Sistema

configurando o servidor de VNC para executar como um serviço de systemd você pode iniciar, parar e reiniciá-lo conforme necessário, como qualquer outro serviço. Você também pode usar os comandos de gestão do systemd para garantir que o VNC começa quando o seu servidor arranca.

Primeiro, crie um novo arquivo chamado /etc/systemd/system/[email protected]:

@ símbolo no final do nome vai deixar a gente passar em um argumento que você pode usar a configuração do serviço., Você vai usar isso para especificar o porto de exibição VNC que você deseja usar quando você gerenciar o serviço.

adicione as seguintes linhas ao ficheiro. Certifique-se de alterar o valor do utilizador, do grupo, do Directório de trabalho e do utilizador no valor do PIDFILE para corresponder ao seu nome de utilizador:

/etc/systemd/system/[email protected]

The ExecStartPre command stops VNC if it’s already running. O comando ExecStart inicia o VNC e define a profundidade de cor como uma cor de 24 bits com uma resolução de 1280×800. Você pode modificar estas opções de inicialização também para atender às suas necessidades., Além disso, note que o comando ExecStart novamente inclui a opção -localhost.

Salve e feche o arquivo.

em seguida, fazer com que o sistema ciente de que a nova unidade do arquivo:

  • sudo systemctl daemon-reload

Ativar a unidade do arquivo:

1 seguinte @ sinal significa que exibem o número do serviço deve aparecer mais, neste caso, o padrão :1 como foi discutido no Passo 2.,

Parar a instância atual do servidor de VNC se ele ainda estiver em execução:

  • vncserver -kill :1

em Seguida, inicie-o como você gostaria de iniciar qualquer outro systemd serviço:

  • sudo systemctl start vncserver@1

Você pode verificar que ele começou com este comando:

  • sudo systemctl status vncserver@1

Se ele começou corretamente, a saída deve ser semelhante a este:

Seu servidor VNC está agora pronto a utilizar, sempre que o servidor é inicializado, e você pode controlá-lo com systemctl comandos como qualquer outro systemd serviço.

no entanto, não haverá qualquer diferença no lado do cliente., Para voltar a ligar, Inicie o seu túnel SSH de novo:

  • ssh -L 59000:localhost:5901 -C -N -l sammy your_server_ip

depois faça uma nova ligação usando o seu software cliente VNC para localhost:59000 para se ligar ao seu servidor.

conclusão

agora tem um servidor VNC seguro em funcionamento no seu servidor Ubuntu 20.04. Agora você será capaz de gerenciar seus arquivos, software e configurações com uma interface gráfica amigável, e você será capaz de executar software gráfico como navegadores web remotamente.

Author: admin

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *