Instalar e configurar o xrdp para usar a Área de Trabalho Remota com o Ubuntu
Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala flexível
Quando novo no Linux, ou para cenários de solução de problemas rápidos, o uso da área de trabalho remota pode ser mais fácil do que o acesso Secure Shell (SSH). Este artigo detalha como instalar e configurar um ambiente de desktop (xfce) e área de trabalho remota (xrdp) para sua VM Linux executando o Ubuntu.
O artigo foi escrito e testado usando uma VM Ubuntu 18.04.
Nota
O uso da Área de Trabalho Remota pela Internet introduzirá um "atraso" (latência de entrada) percetível quando comparado ao uso da área de trabalho local. Isso pode ser influenciado por vários fatores, incluindo a velocidade da internet local e a distância do datacenter onde a máquina virtual está hospedada. Esse atraso geralmente não reflete o desempenho da VM em si.
Pré-requisitos
Este artigo requer uma VM existente do Ubuntu 18.04 LTS ou Ubuntu 20.04 LTS no Azure. Se você precisar criar uma VM, use um dos seguintes métodos:
Instalar um ambiente de desktop em sua VM Linux
A maioria das VMs Linux no Azure não tem um ambiente de desktop instalado por padrão. As VMs Linux são normalmente gerenciadas usando conexões SSH em vez de um ambiente de desktop, no entanto, há vários ambientes de desktop que você pode optar por instalar. Dependendo da sua escolha de ambiente de desktop, ele consome até 2 GB de espaço em disco e leva até dez minutos para instalar e configurar todos os pacotes necessários.
O exemplo a seguir instala o ambiente de desktop xfce4 leve em uma VM do Ubuntu. Os comandos para outras distribuições variam ligeiramente (use yum
para instalar no Red Hat Enterprise Linux e configure regras apropriadas selinux
, ou use zypper
para instalar no SUSE, por exemplo).
Primeiro, SSH para sua VM. O exemplo a seguir se conecta à VM chamada myvm.westus.cloudapp.azure.com com o nome de usuário de azureuser. Use os seus próprios valores:
ssh azureuser@myvm.westus.cloudapp.azure.com
Se você estiver usando o Windows e precisar de mais informações sobre como usar SSH, consulte Como usar chaves SSH com o Windows.
Em seguida, instale o xfce usando apt
:
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install xfce4
sudo apt install xfce4-session
Instalar e configurar um servidor de área de trabalho remota
Agora que você tem um ambiente de área de trabalho instalado, configure um serviço de área de trabalho remota para escutar as conexões de acesso remoto de entrada. xrdp é um servidor RDP (Remote Desktop Protocol) de código aberto que está disponível na maioria das distribuições Linux e funciona bem com xfce. Instale o xrdp em sua VM Ubuntu da seguinte maneira:
sudo apt-get -y install xrdp
sudo systemctl enable xrdp
No Ubuntu 20, você precisa dar acesso de certificado a um usuário xrdp:
sudo adduser xrdp ssl-cert
Diga ao xrdp qual ambiente de desktop usar ao iniciar a sessão. Configure o xrdp para usar o xfce como seu ambiente de desktop da seguinte maneira:
echo xfce4-session >~/.xsession
Reinicie o serviço xrdp para que as alterações entrem em vigor da seguinte maneira:
sudo systemctl restart xrdp
Definir uma palavra-passe de conta de utilizador local
Se você criou uma senha para sua conta de usuário quando criou sua VM, ignore esta etapa. Se você usar apenas a autenticação de chave SSH e não tiver uma senha de conta local definida, especifique uma senha antes de usar o xrdp para fazer login na sua VM. O xrdp não pode aceitar chaves SSH para autenticação. O exemplo a seguir especifica uma senha para a conta de usuário azureuser:
sudo passwd azureuser
Nota
Especificar uma senha não atualiza sua configuração SSHD para permitir logins de senha se isso não acontecer no momento. De uma perspetiva de segurança, você pode querer se conectar à sua VM com um túnel SSH usando autenticação baseada em chave e, em seguida, conectar-se ao xrdp. Em caso afirmativo, ignore a etapa a seguir sobre como criar uma regra de grupo de segurança de rede para permitir o tráfego da área de trabalho remota.
Criar uma regra de Grupo de Segurança de Rede para o tráfego da Área de Trabalho Remota
Para permitir que o tráfego da Área de Trabalho Remota alcance sua VM Linux, uma regra de grupo de segurança de rede precisa ser criada para permitir que o TCP na porta 3389 alcance sua VM. Para obter mais informações sobre regras de grupo de segurança de rede, consulte O que é um grupo de segurança de rede? Você também pode usar o portal do Azure para criar uma regra de grupo de segurança de rede.
O exemplo a seguir cria uma regra de grupo de segurança de rede com az vm open-port na porta 3389. Na CLI do Azure, não na sessão SSH para sua VM, abra a seguinte regra de grupo de segurança de rede:
az vm open-port --resource-group myResourceGroup --name myVM --port 3389
Conecte sua VM Linux a um cliente de Área de Trabalho Remota
Abra o cliente de área de trabalho remota local e conecte-se ao endereço IP ou nome DNS da sua VM Linux.
Introduza o nome de utilizador e a palavra-passe para a conta de utilizador na sua VM da seguinte forma:
Após a autenticação, o ambiente de desktop xfce será carregado e será semelhante ao exemplo a seguir:
Se o cliente RDP local usar autenticação de nível de rede (NLA), talvez seja necessário desabilitar essa configuração de conexão. XRDP atualmente não suporta NLA. Você também pode procurar soluções RDP alternativas que suportam NLA, como FreeRDP.
Resolver problemas
Se você não puder se conectar à sua VM Linux usando um cliente de Área de Trabalho Remota, use netstat
em sua VM Linux para verificar se sua VM está escutando conexões RDP da seguinte maneira:
sudo netstat -plnt | grep rdp
O exemplo a seguir mostra a escuta da VM na porta TCP 3389 conforme o esperado:
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 o serviço xrdp-sesman não estiver escutando, em uma VM do Ubuntu reinicie o serviço da seguinte maneira:
sudo systemctl restart xrdp
Revise os logs em /var/log em sua VM do Ubuntu para obter indicações sobre por que o serviço pode não estar respondendo. Você também pode monitorar o syslog durante uma tentativa de conexão de área de trabalho remota para exibir quaisquer erros:
tail -f /var/log/syslog
Outras distribuições Linux, como Red Hat Enterprise Linux e SUSE, podem ter maneiras diferentes de reiniciar serviços e locais alternativos de arquivos de log para revisão.
Se você não receber nenhuma resposta no cliente da área de trabalho remota e não vir nenhum evento no log do sistema, esse comportamento indica que o tráfego da área de trabalho remota não pode alcançar a VM. Reveja as regras do grupo de segurança de rede para garantir que tem uma regra para permitir o TCP na porta 3389. Para obter mais informações, consulte Solucionar problemas de conectividade de aplicativos.
Próximos passos
Para obter mais informações sobre como criar e usar chaves SSH com VMs Linux, consulte Criar chaves SSH para VMs Linux no Azure.
Para obter informações sobre como usar SSH do Windows, consulte Como usar chaves SSH com o Windows.