Instalowanie i Konfigurowanie xrdp w celu używania Pulpit zdalny z maszyną wirtualną z systemem LinuxInstall and configure xrdp to use Remote Desktop with a Linux VM

Maszyny wirtualne z systemem Linux na platformie Azure są zwykle zarządzane z wiersza polecenia przy użyciu połączenia Secure Shell (SSH).Linux virtual machines (VMs) in Azure are usually managed from the command line using a secure shell (SSH) connection. W przypadku nowych do systemu Linux lub w celu szybkiego rozwiązywania problemów korzystanie z pulpitu zdalnego może być prostsze.When new to Linux, or for quick troubleshooting scenarios, the use of remote desktop may be easier. W tym artykule opisano sposób instalowania i konfigurowania środowiska pulpitu (pulpit Xfce) i pulpitu zdalnego (xrdp) dla maszyny wirtualnej z systemem Linux przy użyciu modelu wdrażania Menedżer zasobów.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.

Wymagania wstępnePrerequisites

Ten artykuł wymaga istniejącej maszyny wirtualnej Ubuntu 18,04 LTS na platformie Azure.This article requires an existing Ubuntu 18.04 LTS VM in Azure. Jeśli musisz utworzyć maszynę wirtualną, użyj jednej z następujących metod:If you need to create a VM, use one of the following methods:

Instalowanie środowiska pulpitu na maszynie wirtualnej z systemem LinuxInstall a desktop environment on your Linux VM

Większość maszyn wirtualnych z systemem Linux na platformie Azure nie ma domyślnie zainstalowanego środowiska pulpitu.Most Linux VMs in Azure do not have a desktop environment installed by default. Maszyny wirtualne z systemem Linux są często zarządzane przy użyciu połączeń SSH, a nie środowiska pulpitu.Linux VMs are commonly managed using SSH connections rather than a desktop environment. Dostępne są różne środowiska pulpitu w systemie Linux, które można wybrać.There are various desktop environments in Linux that you can choose. W zależności od wybranego środowiska komputerowego może zużywać jeden do 2 GB miejsca na dysku i przejmować od 5 do 10 minut na zainstalowanie i skonfigurowanie wszystkich wymaganych pakietów.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.

Poniższy przykład instaluje środowisko pulpitu lekkiego Xfce4 na maszynie wirtualnej z systemem Ubuntu 18,04 LTS.The following example installs the lightweight xfce4 desktop environment on an Ubuntu 18.04 LTS VM. Polecenia dla innych dystrybucji różnią się nieznacznie (Użyj, yum Aby zainstalować program na Red Hat Enterprise Linux i skonfigurować odpowiednie selinux reguły, lub użyć zypper programu do instalacji w systemie SUSE, na przykład).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).

Najpierw SSH z maszyną wirtualną.First, SSH to your VM. Poniższy przykład nawiązuje połączenie z maszyną wirtualną o nazwie MyVM.westus.cloudapp.Azure.com z nazwą użytkownika azureuser.The following example connects to the VM named myvm.westus.cloudapp.azure.com with the username of azureuser. Użyj własnych wartości:Use your own values:

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

Jeśli używasz systemu Windows i potrzebujesz więcej informacji na temat korzystania z protokołu SSH, zobacz jak używać kluczy SSH w systemie Windows.If you are using Windows and need more information on using SSH, see How to use SSH keys with Windows.

Następnie zainstaluj pulpit Xfce przy użyciu apt następujących metod:Next, install xfce using apt as follows:

sudo apt-get update
sudo apt-get -y install xfce4

Instalowanie i Konfigurowanie serwera usług pulpitu zdalnegoInstall and configure a remote desktop server

Teraz, gdy masz zainstalowane środowisko pulpitu, skonfiguruj usługę pulpitu zdalnego do nasłuchiwania połączeń przychodzących.Now that you have a desktop environment installed, configure a remote desktop service to listen for incoming connections. xrdp to serwer open source Remote Desktop Protocol (RDP), który jest dostępny w większości dystrybucji systemu Linux i dobrze współdziała z pulpit Xfce.xrdp is an open source Remote Desktop Protocol (RDP) server that is available on most Linux distributions, and works well with xfce. Zainstaluj program xrdp na maszynie wirtualnej Ubuntu w następujący sposób:Install xrdp on your Ubuntu VM as follows:

sudo apt-get -y install xrdp
sudo systemctl enable xrdp

Poinformuj xrdp o tym, jakie środowisko pulpitu ma być używane podczas uruchamiania sesji.Tell xrdp what desktop environment to use when you start your session. Skonfiguruj xrdp do używania pulpit Xfce jako środowiska pulpitu w następujący sposób:Configure xrdp to use xfce as your desktop environment as follows:

echo xfce4-session >~/.xsession

Uruchom ponownie usługę xrdp, aby zmiany zaczęły obowiązywać w następujący sposób:Restart the xrdp service for the changes to take effect as follows:

sudo service xrdp restart

Ustawianie hasła konta użytkownika lokalnegoSet a local user account password

Jeśli utworzono hasło dla konta użytkownika podczas tworzenia maszyny wirtualnej, Pomiń ten krok.If you created a password for your user account when you created your VM, skip this step. Jeśli używasz tylko uwierzytelniania przy użyciu klucza SSH i nie masz skonfigurowanego hasła konta lokalnego, określ hasło przed użyciem xrdp do logowania się do maszyny wirtualnej.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 nie może akceptować kluczy SSH na potrzeby uwierzytelniania.xrdp cannot accept SSH keys for authentication. W poniższym przykładzie określono hasło dla konta użytkownika azureuser:The following example specifies a password for the user account azureuser:

sudo passwd azureuser

Uwaga

Określenie hasła nie aktualizuje konfiguracji SSHD w celu zezwolenia na logowanie za pomocą hasła, jeśli obecnie nie jest to możliwe.Specifying a password does not update your SSHD configuration to permit password logins if it currently does not. Z punktu widzenia zabezpieczeń można nawiązać połączenie z maszyną wirtualną za pomocą tunelu SSH przy użyciu uwierzytelniania opartego na kluczach, a następnie nawiązać połączenie z usługą 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. Jeśli tak, Pomiń Poniższy krok podczas tworzenia reguły sieciowej grupy zabezpieczeń, aby zezwolić na ruch pulpitu zdalnego.If so, skip the following step on creating a network security group rule to allow remote desktop traffic.

Utwórz regułę sieciowej grupy zabezpieczeń dla ruchu Pulpit zdalnyCreate a Network Security Group rule for Remote Desktop traffic

Aby zezwolić na ruch Pulpit zdalny do maszyny wirtualnej z systemem Linux, należy utworzyć regułę sieciowej grupy zabezpieczeń, która zezwala na ruch TCP na porcie 3389 w celu uzyskania dostępu do maszyny wirtualnej.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. Aby uzyskać więcej informacji o regułach sieciowej grupy zabezpieczeń, zobacz co to jest sieciowa Grupa zabezpieczeń?For more information about network security group rules, see What is a network security group? Możesz również użyć Azure Portal, aby utworzyć regułę sieciowej grupy zabezpieczeń.You can also use the Azure portal to create a network security group rule.

Poniższy przykład tworzy regułę sieciowej grupy zabezpieczeń przy użyciu AZ VM Open-Port na porcie 3389.The following example creates a network security group rule with az vm open-port on port 3389. Z poziomu wiersza polecenia platformy Azure, a nie sesji SSH z maszyną wirtualną, Otwórz następującą regułę sieciowej grupy zabezpieczeń:From the Azure CLI, not the SSH session to your VM, open the following network security group rule:

az vm open-port --resource-group myResourceGroup --name myVM --port 3389

Nawiązywanie połączenia z maszyną wirtualną z systemem Linux za pomocą klienta Pulpit zdalnyConnect your Linux VM with a Remote Desktop client

Otwórz lokalny klient pulpitu zdalnego i nawiąż połączenie z adresem IP lub nazwą DNS maszyny wirtualnej z systemem Linux.Open your local remote desktop client and connect to the IP address or DNS name of your Linux VM.

Zrzut ekranu klienta pulpitu zdalnego.

Wprowadź nazwę użytkownika i hasło dla konta użytkownika na maszynie wirtualnej w następujący sposób:Enter the username and password for the user account on your VM as follows:

Zrzut ekranu przedstawiający ekran logowania xrdp.

Po uwierzytelnieniu środowisko pulpitu pulpit Xfce zostanie załadowane i będzie wyglądać podobnie do poniższego przykładu:After authenticating, the xfce desktop environment will load and look similar to the following example:

Środowisko pulpitu pulpit Xfce przez xrdp

Jeśli lokalny klient RDP korzysta z uwierzytelniania na poziomie sieci, może być konieczne wyłączenie tego ustawienia połączenia.If your local RDP client uses network level authentication (NLA), you may need to disable that connection setting. XRDP obecnie nie obsługuje NLA.XRDP does not currently support NLA. Możesz również zapoznać się z alternatywnymi rozwiązaniami RDP, które obsługują uwierzytelnianie NLA, takie jak FreeRDP.You can also look at alternative RDP solutions that do support NLA, such as FreeRDP.

Rozwiązywanie problemówTroubleshoot

Jeśli nie można nawiązać połączenia z maszyną wirtualną z systemem Linux przy użyciu klienta Pulpit zdalny, użyj netstat maszyny wirtualnej z systemem Linux, aby sprawdzić, czy maszyna wirtualna nasłuchuje połączeń RDP w następujący sposób: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

Poniższy przykład pokazuje, że maszyna wirtualna nasłuchuje na porcie TCP 3389 zgodnie z oczekiwaniami: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

Jeśli usługa xrdp-sesman nie nasłuchuje, na maszynie wirtualnej Ubuntu Uruchom ponownie usługę w następujący sposób:If the xrdp-sesman service is not listening, on an Ubuntu VM restart the service as follows:

sudo service xrdp restart

Przejrzyj dzienniki w /var/log na maszynie wirtualnej Ubuntu w celu wskazania, dlaczego usługa może nie odpowiadać.Review logs in /var/log on your Ubuntu VM for indications as to why the service may not be responding. Dziennik systemowy można także monitorować podczas próby połączenia pulpitu zdalnego, aby wyświetlić wszystkie błędy:You can also monitor the syslog during a remote desktop connection attempt to view any errors:

tail -f /var/log/syslog

Inne dystrybucje systemu Linux, takie jak Red Hat Enterprise Linux i SUSE, mogą mieć różne sposoby ponownego uruchamiania usług i alternatywnych lokalizacji plików dziennika do przejrzenia.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.

Jeśli nie otrzymasz żadnej odpowiedzi z klienta pulpitu zdalnego i nie widzisz żadnych zdarzeń w dzienniku systemu, to zachowanie wskazuje, że ruch pulpitu zdalnego nie może nawiązać połączenia z maszyną wirtualną.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. Przejrzyj reguły sieciowej grupy zabezpieczeń, aby upewnić się, że masz regułę zezwalającą na ruch TCP na porcie 3389.Review your network security group rules to ensure that you have a rule to permit TCP on port 3389. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z łącznością aplikacji.For more information, see Troubleshoot application connectivity issues.

Następne krokiNext steps

Aby uzyskać więcej informacji na temat tworzenia i używania kluczy SSH z maszynami wirtualnymi z systemem Linux, zobacz Tworzenie kluczy SSH dla maszyn wirtualnych z systemem Linux na platformie Azure.For more information about creating and using SSH keys with Linux VMs, see Create SSH keys for Linux VMs in Azure.

Aby uzyskać informacje na temat korzystania z protokołu SSH w systemie Windows, zobacz jak używać kluczy SSH w systemie Windows.For information on using SSH from Windows, see How to use SSH keys with Windows.