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 se aplicam ao macOS Mojave 10.14.6 e ao macOS Catalina 10.15.7
Importante: Execute a sessão SSH mesmo quando estiver na sessão remota.
Para acessar sua instância macOS do EC2 por meio de uma GUI, conclua as seguintes etapas:
-
Use o SSH para se conectar à sua instância macOS do EC2.
Linux:
Para usar o SSH para se conectar à sua instância 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 mais recentes têm um cliente OpenSSH instalado por padrão. Para ativar o cliente OpenSSH, escolha Configurações, aplicativos, aplicações e recursos e, em seguida, escolha Gerenciar recursos opcionais. 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 comando Linux anterior.
Observação: você pode tornar a instância acessível por meio de um endereço IP público ou de um endereço IP elástico quando ela estiver em uma sub-rede pública. Use um servidor bastion ou jump para se conectar à instância. 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. Por motivos de segurança, é 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.
-
Para instalar e iniciar a tela do macOS compartilhando SSH a partir da instância macOS, execute o seguinte comando:
sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist
-
Para definir uma senha para ec2-user, execute o seguinte comando:
sudo /usr/bin/dscl . -passwd /Users/ec2-user
-
Para criar um túnel SSH para a porta VNC, execute o seguinte comando:
ssh -i keypair_file -L 5900:localhost:5900 ec2-user@192.0.2.0
Observação: Substitua keypair_file pelo caminho da chave SSH e 192.0.2.0 pelo endereço IP ou nome DNS da sua instância.
-
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 escolha Conectar ao servidor. Ou use o atalho de teclado CMD + K. Em seguida, em Endereço do servidor, digite vnc://localhost:5900.
Windows:
Você pode usar um cliente VNC de terceiros, como o RealVNC Viewer. Se você usar o cliente RealVNC Viewer, na lista suspensa Arquivo, escolha Nova conexão. Então, para o 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:
Você pode usar um cliente VNC de terceiros, como o Remmina. Para baixar a ferramenta, consulte Como instalar o Remmina no site do Remmina.
-
Depois que a GUI do macOS for iniciada, conecte-se à sessão remota da instância macOS como ec2-user com a nova senha.
Informações relacionadas
Como instalar uma GUI na minha instância do Amazon EC2 que está executando a Amazon Linux 2?
Execute e conecte-se a uma instância Mac do Amazon EC2
Introdução ao mac do Amazon EC2 no site do GitHub