Salta al contenuto

Come posso accedere alla mia istanza EC2 macOS tramite una GUI?

5 minuti di lettura
0

Ho un'istanza Amazon Elastic Compute Cloud (Amazon EC2) per macOS su un host dedicato. Desidero accedere all'istanza tramite un'interfaccia utente grafica (GUI).

Risoluzione

I seguenti passaggi sono stati testati su macOS Ventura 13.7.5, macOS Sonoma 14.7.5 e macOS Sequoia 15.4.1.

Importante: esegui la sessione SSH anche quando sei in una sessione remota.

Connettiti all'istanza EC2 macOS

Utilizza SSH per connetterti all'istanza Amazon EC2 macOS.

Linux

Per connetterti all'istanza EC2 macOS utilizzando SSH come ec2-user, esegui questo comando:

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

Nota: sostituisci keypair_file con la tua coppia di chiavi e Instance-Public-IP con l'indirizzo IP pubblico della tua istanza.

Windows

Windows 10 e versioni successive hanno un client OpenSSH installato per impostazione predefinita. Per attivare il client OpenSSH, completa i seguenti passaggi:

  1. Scegli Impostazioni.
  2. Scegli App, quindi App e funzionalità.
  3. Scegli Gestisci funzionalità opzionali.
  4. Scegli Aggiungi una funzionalità, quindi seleziona Client OpenSSH. Se stai usando una versione precedente di Windows, utilizza Git Bash per eseguire questo comando:
    ssh -i keypair_file ec2-user@Instance-Public-IP

Nota: quando l'istanza si trova in una sottorete pubblica, puoi renderla accessibile tramite un indirizzo IP pubblico o un indirizzo IP elastico. Per connettere l'istanza tramite un indirizzo IP privato, utilizza un server jump o bastione. In alternativa, utilizza AWS VPN o AWS Direct Connect per stabilire una connessione all'istanza tramite un indirizzo IP privato. È consigliabile utilizzare SSH per incanalare il traffico verso il servizio di condivisione dello schermo macOS. È inoltre consigliabile non aprire porte VNC nei gruppi di sicurezza.

Installa SSH per la condivisione dello schermo di macOS

Per installare e avviare SSH per la condivisione dello schermo di macOS dall'istanza macOS, esegui questo comando:

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

Per impostare una password per ec2-user, esegui questo comando:

sudo passwd ec2-user

Verifica che il sistema operativo (OS) sia in ascolto sulla porta 5900:

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

La porta 5900 è l'impostazione predefinita per i server VNC.

Output atteso:

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)

Esci dalla sessione.

Connettiti all'istanza tramite la GUI

Puoi connetterti alla GUI dal localhost o dall'indirizzo IP/DNS pubblico dell'istanza.

Utilizza un localhost

Nota: prima di connetterti alla GUI, potresti dover disattivare la condivisione dello schermo sul computer Mac locale. Questo perché sia la condivisione dello schermo del computer locale che la connessione Amazon EC2 tentano di utilizzare la porta 5900 causando un conflitto. Per disattivare la condivisione dello schermo, scegli Preferenze di sistema, Generali, quindi Condivisione schermo. Imposta la condivisione dello schermo su Disabilitata.

Completa i seguenti passaggi:

  1. Per creare un tunnel SSH verso la porta VNC, esegui questo comando:
    ssh -i keypair_file -L 5900:localhost:5900 ec2-user@Instance-Public-IP
    Nota: sostituisci keypair_file con il percorso della tua chiave SSH. Sostituisci Instance-Public-IP con l'indirizzo IP o il nome DNS della tua istanza. Oppure, se ti connetti tramite una rete privata, puoi utilizzare anche il tuo indirizzo IP privato.
  2. Utilizza un client VNC per connetterti a localhost:5900.
    macOS
    macOS ha un client VNC integrato. Per accedere al visualizzatore VNC, apri Finder, scegli Vai, quindi Connetti al server. Oppure utilizza la scorciatoia da tastiera CMD + K, quindi, in Indirizzo server, inserisci vnc://localhost:5900.
    Windows
    Puoi utilizza un client VNC di terze parti, come RealVNC Viewer. Se utilizzi il client RealVNC Viewer, dall'elenco a discesa File scegli New Connection (Nuova connessione). Per VNC Server: localhost:5900 Encryption: Let VNC Server Choose (Server VNC: Crittografia localhost:5900: Consenti al server VNC di scegliere), scegli OK. Altri client, come TightVNC su Windows, non funzionano con questa procedura di risoluzione.
    Nota: potresti ricevere errori di autenticazione quando ti connetti a RealVNC Viewer. Per risolvere il problema, cambia l'impostazione Encryption (Crittografia) da Prefer On (Preferenzialmente abilitata) a Prefer Off (Preferenzialmente disabilitata) o da Prefer Off (Preferenzialmente disabilitata) a Prefer On (Preferenzialmente abilitata).
    Linux
    Puoi utilizzare un client VNC di terze parti come Remmina. Per scaricare lo strumento, consulta How to install Remmina (Installazione di Remmina) sul sito web Remmina.

Utilizza un indirizzo IP o DNS pubblico

Se non desideri attivare la condivisione dello schermo sul Mac, utilizza un indirizzo IP o DNS pubblico per connetterti all'istanza tramite la GUI.

Esegui questo comando:

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

Quindi segui il passaggio 2 nella sezione Localhost per accedere al visualizzatore VNC e connetterti:

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

Nota: per connetterti tramite un indirizzo IP pubblico, autorizza la porta 5900 nelle regole del gruppo di sicurezza.

Dopo l'avvio della GUI di macOS, connettiti alla sessione remota dell'istanza macOS come ec2-user con la nuova password che hai creato.

Informazioni correlate

Come posso installare una GUI su un’istanza Amazon EC2 con Amazon Linux 2?

Connettiti all'istanza Mac utilizzando SSH o una GUI

amazon-ec2-mac-getting-started sul sito web GitHub

AWS UFFICIALEAggiornata 8 mesi fa