Installare e configurare Desktop remoto per connettersi a una VM Linux di AzureInstall and configure Remote Desktop to connect to a Linux VM in Azure

Le macchine virtuali Linux (VM) di Azure in genere vengono gestite dalla riga di comando tramite una connessione secure shell (SSH).Linux virtual machines (VMs) in Azure are usually managed from the command line using a secure shell (SSH) connection. Quando si è nuovi a Linux, o per scenari di risoluzione dei problemi rapidi, l'uso di desktop remoto potrebbe risultare più facile.When new to Linux, or for quick troubleshooting scenarios, the use of remote desktop may be easier. Questo articolo illustra come installare e configurare un ambiente desktop (xfce) e desktop remoto (xrdp) per VM Linux usando il modello di distribuzione Resource Manager.This article details how to install and configure a desktop environment (xfce) and remote desktop (xrdp) for your Linux VM using the Resource Manager deployment model.

PrerequisitiPrerequisites

Questo articolo richiede l'esistenza di una VM Linux di Azure.This article requires an existing Linux VM in Azure. Se è necessario creare una macchina virtuale, usare uno dei metodi seguenti:If you need to create a VM, use one of the following methods:

Installare un ambiente desktop nella VM LinuxInstall a desktop environment on your Linux VM

La maggior parte delle macchine virtuali Linux di Azure non presenta un ambiente desktop installato per impostazione predefinita.Most Linux VMs in Azure do not have a desktop environment installed by default. Le macchine virtuali Linux in genere vengono gestite usando connessioni SSH piuttosto che un ambiente desktop.Linux VMs are commonly managed using SSH connections rather than a desktop environment. In Linux esistono diversi ambienti desktop tra i quali è possibile scegliere.There are various desktop environments in Linux that you can choose. A seconda dell'ambiente desktop scelto, questo può consumare da 1 a 2 GB di spazio su disco e può impiegare da 5 a 10 minuti per installare e configurare tutti i pacchetti necessari.Depending on your choice of desktop environment, it may consume one to 2 GB of disk space, and take 5 to 10 minutes to install and configure all the required packages.

Nell'esempio seguente l'ambiente desktop leggero xfce4 viene installato in una macchina virtuale Ubuntu.The following example installs the lightweight xfce4 desktop environment on an Ubuntu VM. I comandi per le altre distribuzioni sono leggermente diversi (ad esempio, usare yum per installare in Red Hat Enterprise Linux e configurare regole selinux appropriate, oppure usare zypper per installare in SUSE).Commands for other distributions vary slightly (use yum to install on Red Hat Enterprise Linux and configure appropriate selinux rules, or use zypper to install on SUSE, for example).

Innanzitutto, stabilire una connessione SSH alla VM.First, SSH to your VM. Nell'esempio seguente viene eseguita la connessione alla macchina virtuale denominata myvm.westus.cloudapp.azure.com con il nome utente di azureuser:The following example connects to the VM named myvm.westus.cloudapp.azure.com with the username of azureuser:

ssh azureuser@myvm.westus.cloudapp.azure.com

Se si usa Windows, per altre informazioni sull'uso di SSH, vedere Come usare SSH con Windows in Azure.If you are using Windows and need more information on using SSH, see How to use SSH keys with Windows.

Successivamente, installare xfce usando apt come indicato di seguito:Next, install xfce using apt as follows:

sudo apt-get update
sudo apt-get install xfce4

Installare e configurare un server di desktop remotoInstall and configure a remote desktop server

Ora che si dispone di un ambiente desktop installato, configurare un servizio Desktop remoto per l'ascolto delle connessioni in ingresso.Now that you have a desktop environment installed, configure a remote desktop service to listen for incoming connections. xrdp è un server Remote Desktop Protocol (RDP) open source che è disponibile nella maggior parte delle distribuzioni Linux e funziona bene con xfce.xrdp is an open source Remote Desktop Protocol (RDP) server that is available on most Linux distributions, and works well with xfce. Installare xrdp nella VM Ubuntu come indicato di seguito:Install xrdp on your Ubuntu VM as follows:

sudo apt-get install xrdp

Indicare a xrdp quale ambiente desktop usare quando si avvia la sessione.Tell xrdp what desktop environment to use when you start your session. Configurare xrdp per usare xfce come ambiente desktop come indicato di seguito:Configure xrdp to use xfce as your desktop environment as follows:

echo xfce4-session >~/.xsession

Riavviare il servizio xrdp per rendere effettive le modifiche, come indicato di seguito:Restart the xrdp service for the changes to take effect as follows:

sudo service xrdp restart

Impostare una password per l'account utente localeSet a local user account password

Se la password dell'account utente è stata impostata al momento della creazione della macchina virtuale, ignorare questo passaggio.If you created a password for your user account when you created your VM, skip this step. Se si usa soltanto l'autenticazione con chiave SSH e non è stata creata una password per l'account locale, specificare una password prima di usare xrdp per accedere alla macchina virtuale.If you only use SSH key authentication and do not have a local account password set, specify a password before you use xrdp to log in to your VM. xrdp non può accettare chiavi SSH per l'autenticazione.xrdp cannot accept SSH keys for authentication. Nell'esempio seguente viene specificata una password per l'account utente azureuser:The following example specifies a password for the user account azureuser:

sudo passwd azureuser

Nota

Se attualmente gli accessi tramite password non sono permessi, l'impostazione della password non aggiorna la configurazione SSHD per consentirli.Specifying a password does not update your SSHD configuration to permit password logins if it currently does not. Dal punto di vista della sicurezza, l'utente potrebbe desiderare connettersi alla macchina virtuale con un tunnel SSH usando l'autenticazione tramite chiave e poi connettersi a xrdp.From a security perspective, you may wish to connect to your VM with an SSH tunnel using key-based authentication and then connect to xrdp. In questo caso, ignorare il passaggio seguente sulla creazione di una regola del gruppo di sicurezza di rete per consentire il traffico di desktop remoto.If so, skip the following step on creating a network security group rule to allow remote desktop traffic.

Creare una regola del gruppo di sicurezza di rete per il traffico di Desktop remotoCreate a Network Security Group rule for Remote Desktop traffic

Per consentire al traffico di Desktop remoto di raggiungere la VM Linux, è necessario creare una regola del gruppo di sicurezza di rete che consenta al TCP sulla porta 3389 di raggiungere la macchina virtuale.To allow Remote Desktop traffic to reach your Linux VM, a network security group rule needs to be created that allows TCP on port 3389 to reach your VM. Per altre informazioni sulle regole dei gruppi di sicurezza di rete, vedere Che cos'è un gruppo di sicurezza di rete.For more information about network security group rules, see What is a Network Security Group? È anche possibile usare il portale di Azure per creare una regola del gruppo di sicurezza di rete.You can also use the Azure portal to create a network security group rule.

Nell'esempio seguente viene creata una regola del gruppo di sicurezza di rete con az network nsg rule create denominata myNetworkSecurityGroupRule per consentire il traffico sulla porta tcp 3389.The following examples create a network security group rule with az network nsg rule create named myNetworkSecurityGroupRule to allow traffic on tcp port 3389.

az network nsg rule create \
    --resource-group myResourceGroup \
    --nsg-name myNetworkSecurityGroup \
    --name myNetworkSecurityGroupRule \
    --protocol tcp \
    --priority 1010 \
    --destination-port-range 3389

Connettere la macchina virtuale Linux con un client di Desktop remotoConnect your Linux VM with a Remote Desktop client

Aprire il client di Desktop remoto locale e connettersi all'indirizzo IP o nome DNS della VM Linux.Open your local remote desktop client and connect to the IP address or DNS name of your Linux VM. Immettere il nome utente e la password per l'account utente nella macchina virtuale come indicato di seguito:Enter the username and password for the user account on your VM as follows:

Connettersi a xrdp usando il client di Desktop remoto

Dopo l'autenticazione, l'ambiente desktop xfce verrà caricato e apparirà come nell'esempio seguente:After authenticating, the xfce desktop environment will load and look similar to the following example:

ambiente desktop xfce tramite xrdp

Risoluzione dei problemiTroubleshoot

Se non è possibile connettersi alla VM Linux usando un client di Desktop remoto, usare netstat nella VM Linux per verificare che la macchina virtuale stia ascoltando le connessioni RDP come indicato di seguito:If you cannot connect to your Linux VM using a Remote Desktop client, use netstat on your Linux VM to verify that your VM is listening for RDP connections as follows:

sudo netstat -plnt | grep rdp

Nell'esempio seguente viene mostrata la macchina virtuale in ascolto sulla porta TCP 3389 come previsto:The following example shows the VM listening on TCP port 3389 as expected:

tcp     0     0      127.0.0.1:3350     0.0.0.0:*     LISTEN     53192/xrdp-sesman
tcp     0     0      0.0.0.0:3389       0.0.0.0:*     LISTEN     53188/xrdp

Se il servizio xrdp non è in ascolto, in una macchina virtuale Ubuntu riavviare il servizio come indicato di seguito:If the xrdp service is not listening, on an Ubuntu VM restart the service as follows:

sudo service xrdp restart

Controllare i log in /var/logThug nella VM Ubuntu per indicazioni sul perché il servizio non risponde.Review logs in /var/logThug on your Ubuntu VM for indications as to why the service may not be responding. È possibile anche monitorare il syslog durante un tentativo di connessione Desktop remoto per visualizzare eventuali errori:You can also monitor the syslog during a remote desktop connection attempt to view any errors:

tail -f /var/log/syslog

Altre distribuzioni Linux, ad esempio Red Hat Enterprise Linux e SUSE, possono presentare modi diversi per riavviare i servizi e posizioni dei file di log alternative da controllare.Other Linux distributions such as Red Hat Enterprise Linux and SUSE may have different ways to restart services and alternate log file locations to review.

Se non si riceve alcuna risposta nel client di Desktop remoto e non viene visualizzato nessun evento nel log di sistema, questo comportamento indica che il traffico di Desktop remoto non riesce a raggiungere la macchina virtuale.If you do not receive any response in your remote desktop client and do not see any events in the system log, this behavior indicates that remote desktop traffic cannot reach the VM. Controllare le regole del gruppo di sicurezza di rete per assicurarsi che esista una regola che consenta TCP sulla porta 3389.Review your network security group rules to ensure that you have a rule to permit TCP on port 3389. Per altre informazioni, vedere Risolvere i problemi di connettività delle applicazioni in una macchina virtuale di Azure per Linux.For more information, see Troubleshoot application connectivity issues.

Passaggi successiviNext steps

Per altre informazioni sulla creazione e l'uso di chiavi SSH con macchine virtuali Linux, vedere Creare una coppia di chiavi SSH pubblica e privata per le macchine virtuali di Linux.For more information about creating and using SSH keys with Linux VMs, see Create SSH keys for Linux VMs in Azure.

Per informazioni sull'uso di SSH da Windows, vedere Come usare SSH con Windows in Azure.For information on using SSH from Windows, see How to use SSH keys with Windows.