Como instalar uma GUI na minha instância do Amazon EC2 que está executando a Amazon Linux 2?

9 minuto de leitura
0

Quero instalar uma interface de usuário gráfica (GUI) na minha instância do Amazon Elastic Compute Cloud (Amazon EC2) que executa o Amazon Linux 2 (AL2).

Breve descrição

Para executar aplicações gráficas no Linux, você precisa de um ambiente de desktop. As imagens de máquina da Amazon (AMIs) padrão para AL2 não vêm com um ambiente de desktop instalado por padrão. Use a Biblioteca AL2 Extras para instalar o ambiente de desktop MATE. Para obter mais informações, consulte Ambiente de desktop MATE no site do MATE.

Ou execute a instância a partir de uma AMI do AL2 que venha com o MATE pré-instalado. Para obter mais informações, consulte Configurar a conexão de desktop do AL2 MATE. Também é possível usar áreas de trabalho virtuais no Amazon WorkSpaces para executar AL2, Ubuntu Linux, Rocky Linux, Red Hat Enterprise Linux (RHEL) ou Microsoft Windows.

Resolução

Observação: Se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

A resolução a seguir é somente para AL2. Para verificar o nome e a versão da sua distribuição Linux, execute o seguinte comando:

grep PRETTY_NAME /etc/os-release

Não é possível usar as etapas de resolução a seguir para ambientes que usam uma instância bastion (jump) para se conectar a outras instâncias de EC2 em uma sub-rede não pública. Para se conectar com segurança a instâncias de EC2 que não têm conectividade direta com a Internet, use o Endpoint de conexão de instância do EC2 ou o Gerenciador de sessões, um recurso do AWS Systems Manager. Ou use o AWS Site-to-Site VPN ou o AWS Direct Connect para estabelecer uma conectividade segura entre sua rede e a AWS.

Atualizar sua instância

É uma prática recomendada atualizar e reinicializar sua instância antes de instalar a GUI para evitar problemas.

Para atualizar sua instância, conclua as seguintes etapas:

  1. Conecte-se à sua instância do Amazon EC2.

  2. Execute o comando a seguir para atualizar sua instância:

    sudo yum update
  3. Reinicialize sua instância.

Instale o ambiente de desktop MATE

Para instalar o ambiente de desktop MATE, conclua as seguintes etapas:

  1. Para instalar pacotes MATE, execute o seguinte comando:

    sudo amazon-linux-extras install mate-desktop1.x
  2. Para definir o MATE como seu ambiente de desktop padrão para todos os usuários, execute o seguinte comando:

    sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'

Instalar um servidor de VNC

Instale um servidor de Computação de rede virtual (VNC), como o TigerVNC, para acessar serviços de área de trabalho gráfica remota. Para mais informações sobre o TigerVNC, consulte TigerVNC no site do TigerVNC.

Por motivos de segurança, a configuração a seguir não permite a conectividade direta por meio do TigerVNC. Em vez disso, você deve usar um túnel SSH criptografado para acessar a GUI. É uma prática recomendada não abrir portas VNC em seus grupos de segurança.

Para instalar o TigerVNC, conclua as seguintes etapas:

  1. Para instalar o servidor TigerVNC, execute o seguinte comando:

    sudo yum install tigervnc-server
  2. Para configurar uma senha específica de VNC para seu usuário, execute o seguinte comando:

    vncpasswd

    Observação: quando o terminal perguntar se você deseja digitar uma senha somente para visualização, pressione n. A senha não criptografada é gravada em um arquivo no seu diretório pessoal. Somente seu usuário e o usuário-raiz podem acessar o arquivo. Um mecanismo de desafio-resposta protege as senhas transmitidas pela rede. Para obter mais informações, consulte vncpasswd no site do TigerVNC. O túnel SSH que você usa protege ainda mais as conexões com criptografia mais forte.

  3. Para criar o diretório de configuração em todo o sistema tigervnc, execute o seguinte comando:

    sudo mkdir /etc/tigervnc
  4. Para bloquear a conectividade direta com o VNC, execute o seguinte comando:

    sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'
  5. Para criar uma nova unidade systemd para o TigerVNC, execute o seguinte comando:

    sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
  6. Para substituir todas as ocorrências de <USER> na nova unidade pelo seu nome de usuário, execute o seguinte comando:

    sudo sed -i 's/<USER>/'${USER}'/' /etc/systemd/system/vncserver@.service
  7. Para recarregar a configuração de gerenciador do systemd, execute os seguintes comandos:

    sudo systemctl daemon-reload
  8. Para ativar o serviço TigerVNC na inicialização, execute o seguinte comando:

    sudo systemctl enable vncserver@:1
  9. Para iniciar o serviço TigerVNC, execute o seguinte comando:

    sudo systemctl start vncserver@:1
  10. Para confirmar se o serviço TigerVNC está sendo executado, execute o seguinte comando:

sudo systemctl status vncserver@:1
  1. Para confirmar se o TigerVNC está escutando na porta TCP 5901, execute o seguinte comando:
ss -lnp '( sport = :5901 )'

Instalar o TigerVNC Viewer no computador local

O TigerVNC Viewer está disponível para Windows, macOS e Linux. Para baixar a ferramenta, consulte Lançamentos no GitHub.

Com base no seu sistema operacional (SO), baixe a seguinte versão do TigerVNC Viewer:

  • Para Windows, instale tigervnc64-x.y.z.exe (64 bits) ou tigervnc-x.y.z.exe (32 bits).
  • Para macOS, instale o TigerVNC-x.y.z.dmg.
    Observação: substitua x.y.z pelo número da versão mais recente.
  • Para Linux, é possível encontrar o pacote TigerVNC nos repositórios de várias distribuições. Consulte as instruções de sua distribuição para obter informações sobre como instalar pacotes. Ou baixe e instale o binário relevante do GitHub.

Acessar a GUI

Para acessar a GUI, primeiro você deve se conectar à sua instância a partir do seu computador local com o encaminhamento de portas ativado para a porta TCP 5901. Essa configuração cria um túnel SSH criptografado para o tráfego de VNC. Em seguida, use o VNC Viewer para se conectar à GUI.

Criar um túnel SSH criptografado

Importante: certifique-se de que o firewall do seu computador local permita conexões TCP na porta 5901.

Se você usa o PuTTY para se conectar à sua instância, conclua as etapas a seguir antes de abrir a conexão:

  1. No painel de navegação de Categoria, expanda Conexão e escolha SSH.
  2. Expanda SSH e escolha Túneis.
  3. Em Porta de origem, digite 5901.
  4. Em Destino, insira localhost:5901.
  5. Escolha Adicionar.

Se você usa um cliente SSH para se conectar à sua instância, execute o seguinte comando para ativar o encaminhamento de portas:

ssh -L 5901:localhost:5901 -i /path/key-pair-name.pem user@instance-dns-name

**Observação:**Substitua path pelo seu caminho da chave e key-pair-name pelo nome do arquivo de chave privada. Substitua user pelo nome de usuário e instance-dns-name pelo nome de DNS ou endereço IP da sua instância. O nome de usuário padrão para AL2 é ec2-user.

Se você usa o EC2 Instance Connect para se conectar à sua instância, deverá executar o seguinte comando ec2-instance-connect da AWS CLI para ativar o encaminhamento de portas:

aws ec2-instance-connect ssh --instance-id i-1234567890example --connection-type direct --local-forwarding 5901:localhost:5901

Observação: substitua i-1234567890example pelo ID da sua instância. Se você usa o EC2 Instance Connect Endpoint, substitua direct por eice.

Se você usa o Gerenciador de Sessões para se conectar à sua instância, deverá iniciar uma sessão de encaminhamento de portas do Gerenciador de Sessões. Para as portas local e remota, digite 5901.

Usar o VNC Viewer para se conectar à GUI

Conclua as etapas a seguir:

  1. Abra o TigerVNC Viewer no computador local.
  2. Para servidor de VNC, digite localhost:1 e escolha Conectar.
  3. Digite sua senha do VNC.
    Observação: se você receber um alerta de que a conexão não é segura, ignore-o. Você está acessando o servidor de VNC por meio do túnel SSH criptografado que você criou.

(Opcional) Desativar a autenticação por senha para VNC

Importante: é uma prática recomendada desativar a autenticação por senha somente para instâncias de usuário único. Quando a autenticação por senha da VNC está desativada, qualquer usuário que possa fazer login na sua instância poderá criar um túnel SSH e acessar sua área de trabalho de VNC.

Para desativar a autenticação por senha para VNC, conclua as seguintes etapas:

  1. Execute o seguinte comando para alterar a configuração de Tipos de segurança do servidor de VNC para Nenhum:

    echo SecurityTypes=None >> ~/.vnc/config
  2. Para reiniciar o servidor de VNC, execute o comando a seguir:

    sudo systemctl restart vncserver@:1

(Opcional) Instalar um navegador da Web

A AWS não fornece navegadores da Web em repositórios AL2. No entanto, é possível instalar navegadores da Web como o Chromium no site da Chromium Projects ou os navegadores Firefox no site da Mozilla.

Observação: a AWS não fornece suporte para softwares instalados de fontes de terceiros.

As etapas de instalação a seguir são somente para instâncias baseadas na arquitetura x86\ _64 (processadores Intel e AMD). Não é possível usar a seguinte resolução para instâncias baseadas na arquitetura aarch64 (processadores AWS Graviton). Para verificar a arquitetura da sua instância, execute o seguinte comando:

uname -m

Instalar o Chromium

Conclua as etapas a seguir:

  1. Para ativar o repositório de Pacotes extras para Enterprise Linux (EPEL), execute o seguinte comando:

    sudo amazon-linux-extras install epel

    Observação: para mais informações, consulte os Pacotes extras para Enterprise Linux (EPEL) no site do Projeto Fedora.

  2. Para instalar pacotes do Chromium, execute o seguinte comando:

    sudo yum install chromium
  3. Na área de trabalho do MATE, escolha Aplicações e, em seguida, escolha Internet. É possível encontrar o Chromium listado como Chromium Web Browser.

Instalar o Firefox

Observação: é possível instalar o Firefox somente para o usuário atual.

Para instalar o Firefox para o usuário atual em sua instância do AL2, conclua as seguintes etapas:

  1. Para baixar a versão mais recente do Firefox para Linux de 64 bits, execute o seguinte comando:

    curl -L -o ~/firefox.tar.xz 'https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=en-US'
  2. Para extrair o conteúdo do arquivo baixado, execute o seguinte comando:

    tar Jxf ~/firefox.tar.xz -C ~/
  3. Para criar um atalho do Firefox na sua área de trabalho, execute o seguinte comando:

    echo '[Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Icon=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png
    Exec=/home/ec2-user/firefox/firefox
    Name=Firefox
    Comment=Firefox web browser
    GenericName=Firefox web browser
    Categories=Network;WebBrowser;' > ~/Desktop/Firefox.desktop
  4. Use o atalho da área de trabalho para iniciar o Firefox.
    Observação: se você receber uma mensagem informando que o inicializador de aplicações não é confiável, escolha Marcar como confiável.

Informações relacionadas

Como posso acessar minha instância macOS do Amazon EC2 por meio de uma GUI?

AWS OFICIAL
AWS OFICIALAtualizada há um mês