Nota

Configurare il desktop remoto Gnome su Oracle Linux

Introduzione

L'ambiente desktop Gnome offre diversi modi per accedervi da remoto, a seconda che si disponga di un accesso fisico o che si stia eseguendo senza testa. Quando è disponibile l'accesso fisico e un monitor è connesso, è possibile utilizzare le applicazioni esistenti integrate nell'applicazione Impostazioni ambiente desktop Gnome.

Per i sistemi headless remoti, come quelli in esecuzione in Oracle Cloud Infrastructure, dovrai utilizzare FreeRDP. FreeRDP è un'implementazione open source del Remote Desktop Protocol (RDP) che consente agli utenti di connettersi e controllare i sistemi informatici remoti attraverso la rete. Queste sessioni consentono la configurazione di un utente singolo o di più utenti e richiedono la configurazione di una chiave TLS e di un certificato TLS per consentire l'esecuzione del servizio.

Obiettivi

In questo tutorial imparerai a:

Prerequisito

Implementa Oracle Linux

Nota: se è in esecuzione nella propria tenancy, leggere il progetto linux-virt-labs GitHub README.md e completare i prerequisiti prima di distribuire l'ambiente di laboratorio.

  1. Aprire un terminale sul Luna Desktop.

  2. Duplicare il progetto linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Passare alla directory di lavoro.

    cd linux-virt-labs/ol
    
  4. Installare le raccolte richieste.

    ansible-galaxy collection install -r requirements.yml
    
  5. Implementare l'ambiente di laboratorio.

    ansible-playbook create_instance.yml -e localhost_python_interpreter="/usr/bin/python3.6" -e os_version="10"
    

    L'ambiente di laboratorio gratuito richiede la variabile extra ansible_python_interpreter per localhost perché installa il pacchetto RPM per Oracle Cloud Infrastructure SDK per Python. La posizione per l'installazione di questo pacchetto si trova sotto i moduli Python predefiniti del sistema in base alla versione di Oracle Linux in uso. L'utilizzo di una variabile di inventario evita di influire sulle riproduzioni in esecuzione su host diversi da localhost.

    La forma di distribuzione predefinita utilizza la CPU AMD. È possibile modificare la forma delle istanze passando una nuova definizione di variabile forma sulla riga di comando.

    Ad esempio: -e instance_shape="VM.Standard3.Flex"

    Analogamente, la versione predefinita dell'immagine Oracle Linux utilizza la variabile os_version definita nel file `default_vars.yml. È possibile modificare questo valore passando la versione principale di Oracle Linux dalla riga di comando.

    Ad esempio: -e os_version="9"

    Importante: attendere che il playbook venga eseguito correttamente e raggiungere il task di sospensione. In questa fase del playbook, l'installazione di Oracle Linux è completa e le istanze sono pronte. Nota la riproduzione precedente, che stampa gli indirizzi IP pubblici e privati dei nodi che distribuisce.

Installazione di un ambiente desktop grafico e FreeRDP

  1. Aprire un terminale e connettersi utilizzando SSH all'istanza ol-node-01.

    ssh oracle@<ip_address_of_instance>
    
  2. Aggiornare i pacchetti sul sistema alla release più recente.

    sudo dnf upgrade -y
    
  3. Installare un ambiente desktop GNOME e tutte le relative dipendenze.

    sudo dnf group install -y GNOME Fonts
    
  4. Installare il pacchetto FreeRDP

    sudo dnf install -y freerdp
    
  5. Verificare che sia necessario un reboot.

    sudo dnf needs-restarting -r
    

    Se necessario, eseguire il reboot del sistema utilizzando sudo reboot, quindi riconnettersi.

Configurare il servizio RDP per più utenti

  1. Creare una directory per il certificato TLS autofirmato.

    sudo -u gnome-remote-desktop mkdir -p ~gnome-remote-desktop/.local/share/gnome-remote-desktop
    
  2. Generare un certificato TLS autofirmato.

    sudo -u gnome-remote-desktop winpr-makecert -silent -rdp -path ~gnome-remote-desktop/.local/share/gnome-remote-desktop rdp-tls
    
  3. Impostare la chiave TLS per il desktop remoto.

    sudo grdctl --system rdp set-tls-key ~gnome-remote-desktop/.local/share/gnome-remote-desktop/rdp-tls.key
    

    L'opzione --system configura il daemon del sistema desktop remoto, necessario per l'accesso di più utenti. Sono disponibili comandi e opzioni aggiuntivi eseguendo grdctl --help.

  4. Impostare il certificato TLS.

    sudo grdctl --system rdp set-tls-cert ~gnome-remote-desktop/.local/share/gnome-remote-desktop/rdp-tls.crt
    
  5. Impostare le credenziali RPD.

    sudo grdctl --system rdp set-credentials oracle 12345678
    

    È possibile passare queste credenziali sulla riga di comando come mostrato oppure, se non si superano le credenziali, viene richiesto il nome utente e la password. Queste credenziali consentono l'accesso solo alla sessione RDP remota che visualizza il login al desktop Gnome. Per accedere a una sessione desktop remota, gli utenti devono comunque disporre di un account Linux effettivo sul computer ed eseguire il login con tali credenziali.

  6. Verificare le impostazioni TLS e le credenziali RDP.

    sudo grdctl --system status --show-credentials
    

    Verificare che il certificato TLS e la chiave TLS siano un set corrispondente. Quando si genera il certificato TLS utilizzando winpr-makecert, viene creato un file .key e .crt nella stessa cartella con lo stesso nome. Il flag --show-credentials del comando status nasconde il nome utente e la password, consentendo di leggerli e verificare di averli digitati correttamente.

  7. Abilitare il servizio RDP.

    sudo grdctl --system rdp enable
    
  8. Verificare che il servizio sia abilitato e attivo.

    sudo grdctl --system status
    
  9. Abilitare il servizio GDM.

    sudo systemctl enable --now gdm
    
  10. Abilitare il servizio di login remoto a livello di sistema.

    sudo systemctl enable --now gnome-remote-desktop.service
    
  11. Impostare il servizio desktop remoto come predefinito tra i vari reboot.

    sudo systemctl set-default graphical.target
    
  12. Verificare che il servizio sia in esecuzione.

    sudo systemctl status gnome-remote-desktop.service
    

    È inoltre possibile verificare che il servizio sia in esecuzione controllando se è in ascolto sulla porta 3389 eseguendo sudo ss -lnpAinet | grep -e gnome-remote.

Apertura di un client RDP e test della distribuzione

Ci sono diversi clienti che è possibile utilizzare per connettersi a un RDP; tuttavia, non tutti funzionano. Quelli noti per funzionare sono Remmina e Connections su Linux, e xfreerdp su macOS. Le istruzioni si concentreranno su Remmina in quanto è disponibile per tutte le versioni di Oracle Linux, mentre Connections è disponibile solo in Gnome 47 e versioni successive, che fa parte di Oracle Linux 10. Se eseguito in ambiente libero di laboratorio, il software Remmina è già installato su Luna Desktop.

  1. Aprire un nuovo terminale e connettersi tramite SSH all'istanza ol-node-01.

    L'opzione -L abilita l'inoltro locale, che apre una porta locale per connettersi tramite un tunnel SSH al server RDP remoto.

    ssh -L 13389:localhost:3389 oracle@<ip_address_of_instance>
    

    La porta RDP predefinita è 3389, quindi utilizzeremo una porta disponibile di 13389 come porta locale nel tunnel SSH.

  2. Aprire Remmina facendo clic sul menu Applicazioni, Internet e quindi su Remmina.

    menu rdp

  3. Immettere un nome per la connessione RDP nel campo Nome e selezionare RDP - Remote Desktop Protocol nella lista di valori Protocollo.

  4. Accedere all'ambiente GUI del server distribuito.

    Immettere i valori riportati di seguito, quindi fare clic su Connetti.

    • Server: localhost:13389
    • Nome utente: oracle
    • Password: 12345678

    login rdp

    Puoi anche connetterti eseguendo Remmina da un terminale utilizzando remmina -c rdp://oracle@localhost:13389

  5. Viene visualizzato Gnome Desktop Manager, che presenta una sessione di login Gnome.

  6. Eseguire il login con le credenziali Linux dell'utente.

    Le credenziali nell'ambiente di laboratorio gratuito sono:

    • Nome utente: oracle
    • Password: oracle
  7. Ora si è connessi in remoto al sistema.

    Oracle Linux 10:

    Viene visualizzata una finestra di dialogo 'Benvenuti'.

    gui-benvenuto

    Fare clic sul pulsante Salta (o su Enter) e la finestra di dialogo 'Benvenuti' non verrà più visualizzata.

    uso iniziale-olo

    Se si verificano problemi di connettività, risolvere questi problemi eseguendo la connessione al server remoto tramite una connessione tunnel SSH.

    Potrebbe essere necessario eseguire passi aggiuntivi se si desidera connettersi a un'istanza di Oracle Cloud Infrastructure. Per ulteriori informazioni, vedere Connessione a un'istanza nella documentazione di Oracle Cloud Infrastructure.

    Se si sta tentando di connettersi a una virtual machine gestita in hosting da Oracle VM VirtualBox, è necessario configurare l'inoltro delle porte aggiuntivo per l'accesso remoto. È possibile trovare istruzioni per la configurazione delle reti virtuali nella Guida per l'utente per la versione installata di Oracle VM VirtualBox.

(Opzionale) Configurare le regole del firewall

Quando si esegue su una rete privata sicura, è possibile aprire la porta firewall per il servizio RDP, che utilizza una porta predefinita di 3389.

   sudo firewall-cmd --permanent --add-port=3389/tcp
   sudo firewall-cmd --reload

Nota: mentre RDP utilizza TLS per cifrare il protocollo, non è necessario aprire il firewall su questa porta e connettersi direttamente a un server RDP su una rete non protetta. Anche se elenchiamo questo passaggio come facoltativo, non consigliamo di utilizzarlo. In alternativa, è consigliabile utilizzare il tunneling SSH o un altro meccanismo per proteggere la connessione, come dimostrato nei passi non facoltativi.

Passi successivi

È ora necessario disporre di un ambiente desktop remoto funzionale per l'esecuzione delle applicazioni grafiche. Scopri i nostri altri contenuti sulla stazione di formazione Oracle Linux.

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione del prodotto, visitare Oracle Help Center.