Ir para o conteúdo

Como faço para acessar minha instância do macOS do EC2 por meio de uma GUI?

5 minuto de leitura
0

Eu tenho uma instância macOS do Amazon Elastic Compute Cloud (Amazon EC2) em um host dedicado. Quero acessar a instância por meio de uma interface gráfica de usuário (GUI).

Resolução

As etapas a seguir foram testadas no macOS Ventura 13.7.5, macOS Sonoma 14.7.5 e macOS Sequoia 15.4.1.

Importante: execute a sessão SSH mesmo quando estiver em uma sessão remota.

Conectar-se à sua instância do macOS do EC2

Use o SSH para se conectar à sua instância do macOS do Amazon EC2.

Linux

Para usar o SSH para se conectar à sua instância do macOS do EC2 como ec2-user, execute o seguinte comando:

ssh -i keypair_file ec2-user@Instance-Public-IP

Observação: substitua keypair_file pelo seu par de chaves e Instance-Public-IP pelo endereço IP público da sua instância.

Windows

O Windows 10 e versões posteriores têm um cliente OpenSSH instalado por padrão. Para ativar o cliente OpenSSH, conclua as seguintes etapas:

  1. Escolha Configurações.
  2. Escolha Aplicações e, em seguida, Aplicações e recursos.
  3. Escolha Gerenciar recursos opcionais.
  4. Escolha Adicionar um atributo e, em seguida, selecione Cliente OpenSSH. Se você estiver usando uma versão anterior do Windows, use o Git Bash para executar o seguinte comando:
    ssh -i keypair_file ec2-user@Instance-Public-IP

Observação: quando a instância está em uma sub-rede pública, é possível torná-la acessível por meio de um endereço IP público ou de um endereço IP elástico. Para conectar a instância por meio de um endereço IP privado, use um servidor bastion ou jump. Ou use a AWS VPN ou o AWS Direct Connect para estabelecer uma conexão com sua instância por meio de um endereço IP privado. É uma prática recomendada usar o SSH para canalizar o tráfego para o serviço de compartilhamento de tela do macOS. Também é uma prática recomendada não abrir portas VNC em seus grupos de segurança.

Instalar o SSH de compartilhamento de tela do macOS

Para instalar e iniciar a tela do macOS compartilhando SSH a partir da instância macOS, execute o seguinte comando:

sudo launchctl enable system/com.apple.screensharing
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist

Para definir uma senha para ec2-user, execute o seguinte comando:

sudo passwd ec2-user

Confirme se o sistema operacional (SO) está recebendo na porta 5900:

sudo lsof -i -n -P | grep TCP | grep 5900

A porta 5900 é o padrão para servidores VNC.

Saída esperada:

launchd 1 root 15u IPv6 0xa78dfebd53aa990a 0t0 TCP *:5900 (LISTEN)
launchd 1 root 16u IPv4 0x7a1b35dd60e49ee6 0t0 TCP *:5900 (LISTEN)
launchd 1 root 19u IPv6 0xa78dfebd53aa990a 0t0 TCP *:5900 (LISTEN)
launchd 1 root 20u IPv4 0x7a1b35dd60e49ee6 0t0 TCP *:5900 (LISTEN)

Saia da sessão.

Conectar-se à instância por meio da GUI

É possível se conectar à GUI a partir do localhost ou do endereço IP/DNS público da instância.

Usar localhost

Observação: antes de se conectar à GUI, talvez seja necessário desativar o compartilhamento de tela em sua máquina Mac local. Isso ocorre porque tanto o compartilhamento de tela da sua máquina local quanto a conexão do Amazon EC2 tentam usar a porta 5900 e causar um conflito. Para desativar o compartilhamento de tela, escolha Preferências do sistema, Geral e, em seguida, Compartilhamento de tela. Defina o compartilhamento de tela como DESATIVADO.

Conclua as etapas a seguir:

  1. Para criar um túnel SSH para a porta VNC, execute o seguinte comando:
    ssh -i keypair_file -L 5900:localhost:5900 ec2-user@Instance-Public-IP
    Observação: substitua keypair_file pelo caminho da chave SSH. Substitua Instance-Public-IP pelo endereço IP da sua instância ou pelo nome DNS. Ou, se você se conectar por meio de uma rede privada, também poderá usar seu endereço IP privado.
  2. Use um cliente VNC para se conectar a localhost:5900.
    macOS
    O macOS tem um cliente VNC integrado. Para acessar o visualizador VNC, abra o Finder, escolha Ir e, em seguida, Conectar ao servidor. Ou use o atalho de teclado CMD + K. Em seguida, em Endereço do servidor, digite vnc://localhost:5900.
    Windows
    É possível usar um cliente VNC de terceiros, como o RealVNC Viewer. Se você usar o cliente RealVNC Viewer, na lista suspensa Arquivo, selecione Nova conexão. Em Servidor VNC: localhost:5900 Criptografia: Deixe Escolha de servidor VNC e selecione OK. Outros clientes, como o TightVNC no Windows, não funcionam com essa resolução.
    Observação: você pode enfrentar erros de autenticação ao se conectar ao RealVNC Viewer. Para resolver esse problema, altere a configuração de Criptografia de Preferir ativado para Preferir desativado, ou de Preferir desativado para Preferir ativado.
    Linux
    É possível usar um cliente VNC de terceiros, como o Remmina. Para baixar a ferramenta, consulte Como instalar o Remmina no site do Remmina.

Usar um endereço IP público ou DNS

Se você não quiser ativar o compartilhamento de tela no seu Mac, use um endereço IP público ou DNS para se conectar à instância por meio da GUI.

Execute o seguinte comando:

ssh -i keypair_file ec2-user@Instance-Public-IP

Em seguida, siga a etapa 2 na seção Localhost para acessar o visualizador VNC e se conectar:

vnc://Instance-Public-IP:5900 or vnc://Instance-DNS-address:5900

Observação: para se conectar por meio de um endereço IP público, permita a porta 5900 nas regras do seu grupo de segurança.

Depois que a GUI do macOS for iniciada, conecte-se à sessão remota da instância do macOS como ec2-user com a nova senha que criou.

Informações relacionadas

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

Conectar-se à instância do Mac usando SSH ou GUI

amazon-ec2-mac-getting-started no site do GitHub

AWS OFICIALAtualizada há 7 meses