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

8 minuti di lettura
0

Desidero installare un'interfaccia utente grafica (GUI) sulla mia istanza Amazon Elastic Compute Cloud (Amazon EC2) che esegue Amazon Linux 2 (AL2).

Breve descrizione

Per eseguire applicazioni grafiche su Linux, è necessario un ambiente desktop. Le AMI (Amazon Machine Image) standard per AL2 non vengono fornite con un ambiente desktop installato per impostazione predefinita. Utilizza l'AL2 Extras Library (Libreria di extra per AL2) per installare l'ambiente desktop MATE. Per ulteriori informazioni, consulta MATE Desktop Environment (Ambiente desktop MATE) sul sito web di MATE.

Oppure avvia l'istanza da un'AMI AL2 fornita con MATE preinstallato. Per ulteriori informazioni, consulta Configure the AL2 MATE desktop connection (Configurazione della connessione al desktop MATE per AL2). Puoi anche utilizzare desktop virtuali su Amazon WorkSpaces per eseguire AL2, Ubuntu Linux, Rocky Linux, Red Hat Enterprise Linux (RHEL) o Microsoft Windows.

Risoluzione

Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

La seguente risoluzione è solamente per AL2. Per controllare il nome e la versione della distribuzione Linux, esegui questo comando:

grep PRETTY_NAME /etc/os-release

Non puoi utilizzare il seguente procedimento di risoluzione per ambienti che utilizzano un'istanza bastione (jump) per connettersi ad altre istanze EC2 in una sottorete non pubblica. Per connetterti in modo sicuro alle istanze EC2 che non dispongono di connettività Internet diretta, utilizza EC2 Instance Connect Endpoint o Session Manager, una funzionalità di AWS Systems Manager. Oppure utilizza VPN sito-sito AWS o AWS Direct Connect per stabilire una connettività sicura tra la rete e AWS.

Aggiorna l'istanza

È consigliabile aggiornare e riavviare l'istanza prima di installare la GUI per evitare problemi.

Per aggiornare l'istanza, completa i seguenti passaggi:

  1. Connettiti all'istanza Amazon EC2.

  2. Esegui questo comando per aggiornare l'istanza:

    sudo yum update
  3. Riavvia l'istanza.

Installa l'ambiente desktop MATE

Per installare l'ambiente desktop MATE, completa i seguenti passaggi:

  1. Per installare i pacchetti MATE, esegui questo comando:

    sudo amazon-linux-extras install mate-desktop1.x
  2. Per definire MATE come ambiente desktop predefinito per tutti gli utenti, esegui questo comando:

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

Installa un server VNC

Installa un server Virtual Network Computing (VNC), come TigerVNC, per accedere ai servizi desktop grafici remoti. Per ulteriori informazioni su TigerVNC, consulta TigerVNC sul sito web di TigerVNC.

Per motivi di sicurezza, la seguente configurazione non consente la connettività diretta tramite TigerVNC. Devi invece utilizzare un tunnel SSH crittografato per accedere alla GUI. È consigliabile non aprire porte VNC nei gruppi di sicurezza.

Per installare TigerVNC, completa i seguenti passaggi:

  1. Per installare il server TigerVNC, esegui questo comando:

    sudo yum install tigervnc-server
  2. Per configurare una password specifica per VNC per l'utente, esegui questo comando:

    vncpasswd

    Nota: quando il terminale chiede se desideri inserire una password di sola visualizzazione, premi n. La password non crittografata viene registrata in un file nella home directory. Solo l'utente e l'utente root possono accedere al file. Un meccanismo di risposta alle sfide protegge le password trasmesse in rete. Per ulteriori informazioni, consulta vncpasswd sul sito web di TigerVNC. Il tunnel SSH che utilizzi protegge ulteriormente le connessioni con una crittografia più potente.

  3. Per creare la directory di configurazione a livello di sistema tigervnc, esegui questo comando:

    sudo mkdir /etc/tigervnc
  4. Per bloccare la connettività diretta al VNC, esegui questo comando:

    sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'
  5. Per creare una nuova unità systemd per TigerVNC, esegui questo comando:

    sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
  6. Per sostituire tutte le occorrenze di <USER> nella nuova unità con il nome utente, esegui questo comando:

    sudo sed -i 's/<USER>/'${USER}'/' /etc/systemd/system/vncserver@.service
  7. Per ricaricare la configurazione di gestione systemd, esegui questo comando:

    sudo systemctl daemon-reload
  8. Per attivare il servizio TigerVNC all'avvio, esegui questo comando:

    sudo systemctl enable vncserver@:1
  9. Per avviare il servizio TigerVNC, esegui questo comando:

    sudo systemctl start vncserver@:1
  10. Per verificare l'esecuzione del servizio TigerVNC, esegui questo comando:

sudo systemctl status vncserver@:1
  1. Per confermare che TigerVNC è in ascolto sulla porta TCP 5901, esegui questo comando:
ss -lnp '( sport = :5901 )'

Installa TigerVNC Viewer sul computer locale

TigerVNC Viewer è disponibile per Windows, macOS e Linux. Per scaricare lo strumento, consulta Releases (Release) sul sito web di GitHub.

In base al sistema operativo (OS) in uso, scarica la seguente versione di TigerVNC Viewer:

  • Per Windows, installa tigervnc64-x.y.z.exe (64 bit) o tigervnc-x.y.z.exe (32 bit).
  • Per macOS, installa TigerVNC-x.y.z.dmg.
    Nota: sostituisci x.y.z con il numero di versione più recente.
  • Per Linux, puoi trovare il pacchetto TigerVNC nei repository di molte distribuzioni. Controlla le istruzioni di distribuzione per informazioni sull'installazione dei pacchetti. Oppure scarica e installa il file binario corrispondente da GitHub.

Accedi alla GUI

Per accedere alla GUI, devi prima connetterti all'istanza dal computer locale con il port forwarding attivato per la porta TCP 5901. Questa configurazione crea un tunnel SSH crittografato per il traffico VNC. Quindi utilizza VNC Viewer per connetterti alla GUI.

Crea un tunnel SSH crittografato

Importante: assicurati che il firewall del computer locale consenta le connessioni TCP alla porta 5901.

Se utilizzi PuTTY per connetterti all'istanza, completa i seguenti passaggi prima di aprire la connessione:

  1. Nel pannello di navigazione Categoria, espandi Connessione, quindi scegli SSH.
  2. Espandi SSH, quindi scegli Tunnel.
  3. Per Porta di origine, inserisci 5901.
  4. Per Destinazione, inserisci localhost:5901.
  5. Scegli Aggiungi.

Se utilizzi un client SSH per connetterti all'istanza, esegui questo comando per attivare il port forwarding:

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

Nota: sostituisci path con il tuo percorso chiave e key-pair-name con il nome del file della chiave privata. Sostituisci user con il nome utente e instance-dns-name con il nome DNS o l'indirizzo IP della tua istanza. Il nome utente predefinito per AL2 è ec2-user.

Se utilizzi EC2 Instance Connect per connetterti all'istanza, devi eseguire questo comando AWS CLI ec2-instance-connect per attivare il port forwarding:

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

Nota: sostituisci i-1234567890example con l'ID della tua istanza. Se utilizzi EC2 Instance Connect Endpoint, sostituisci direct con eice.

Se utilizzi Session Manager per connetterti all'istanza, devi avviare una sessione di port forwarding di Session Manager. Per entrambe le porte locali e remote, inserisci 5901.

Utilizza VNC Viewer per connetterti alla GUI

Completa i seguenti passaggi:

  1. Apri TigerVNC Viewer sul computer locale.
  2. In Server VNC, inserisci localhost:1, quindi scegli Connetti.
  3. Inserisci la password VNC.
    Nota: se ricevi un avviso in cui si indica che la connessione non è sicura, ignoralo. Stai accedendo al server VNC tramite il tunnel SSH crittografato che hai creato.

(Facoltativo) Disattiva l'autenticazione tramite password per VNC

Importante: è consigliabile disattivare l'autenticazione tramite password unicamente per le istanze con un solo utente. Quando l'autenticazione della password VNC è disattivata, qualsiasi utente in grado di accedere all'istanza può creare un tunnel SSH e accedere al desktop VNC.

Per disattivare l'autenticazione tramite password per VNC, completa i seguenti passaggi:

  1. Esegui questo comando per modificare l'impostazione dei tipi di sicurezza del server VNC su Nessuno:

    echo SecurityTypes=None >> ~/.vnc/config
  2. Per riavviare il server VNC, esegui questo comando:

    sudo systemctl restart vncserver@:1

(Facoltativo) Installa un browser web

AWS non fornisce browser web nei repository AL2. Tuttavia, puoi installare browser web come Chromium sul sito web di Chromium Projects o browser Firefox sul sito web di Mozilla.

Nota: AWS non fornisce supporto per il software installato da fonti di terze parti.

Il seguente procedimento di installazione è solamente per istanze basate sull'architettura x86\ _64 (processori Intel e AMD). Non puoi utilizzare la seguente risoluzione per istanze basate sull'architettura aarch64 (processori AWS Graviton). Per verificare l'architettura dell'istanza, esegui questo comando:

uname -m

Installa Chromium

Completa i seguenti passaggi:

  1. Per attivare il repository Extra Packages for Enterprise Linux (EPEL), esegui questo comando:

    sudo amazon-linux-extras install epel

    Nota: per maggiori informazioni, consulta Extra Packages for Enterprise Linux (EPEL) (Pacchetti extra per Enterprise Linux (EPEL)) sul sito web di Fedora Project.

  2. Per installare i pacchetti Chromium, esegui questo comando:

    sudo yum install chromium
  3. Sul desktop MATE, scegli Applications (Applicazioni), quindi Internet. Puoi trovare Chromium elencato come Chromium Web Browser (Browser web Chromium).

Installa Firefox

Nota: puoi installare Firefox solo per l'utente corrente.

Per installare Firefox per l'utente corrente sull'istanza AL2, completa i seguenti passaggi:

  1. Per scaricare l'ultima versione di Firefox per Linux a 64 bit, esegui questo comando:

    curl -L -o ~/firefox.tar.xz 'https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=en-US'
  2. Per estrarre il contenuto del file scaricato, esegui questo comando:

    tar Jxf ~/firefox.tar.xz -C ~/
  3. Per creare un collegamento a Firefox sul desktop, esegui questo 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. Utilizza il collegamento sul desktop per avviare Firefox.
    Nota: se ricevi un messaggio che indica che il programma di avvio dell'applicazione non è attendibile, scegli Mark as Trusted (Contrassegna come attendibile).

Informazioni correlate

Come posso accedere a un'istanza Amazon EC2 per macOS tramite una GUI?

AWS UFFICIALE
AWS UFFICIALEAggiornata 16 giorni fa