Como Habilitar o Protocolo de Área de Trabalho Remota Usando o xrdp no Ubuntu 22.04

O autor selecionou o Fundo de Auxílio COVID-19 para receber uma doação como parte do programa Escreva para Doações.

Introdução

Protocolo de Área de Trabalho Remota (RDP) é um protocolo de rede desenvolvido pela Microsoft que permite aos usuários acessar e interagir remotamente com a interface gráfica de usuário de um servidor remoto do Windows. O RDP funciona no modelo cliente-servidor, onde um cliente RDP é instalado em uma máquina local e um servidor RDP é instalado no servidor remoto.

O RDP é amplamente utilizado para conexões remotas do Windows, mas você também pode acessar e interagir com a interface gráfica de usuário de um servidor Linux remoto usando uma ferramenta como o xrdp, uma implementação de código aberto do servidor RDP.

Neste tutorial, você irá instalar e configurar um servidor RDP usando o xrdp em um servidor Ubuntu 22.04 e acessá-lo usando um cliente RDP de sua máquina local. Você entenderá como estabelecer acesso a um servidor Linux remoto configurando e usando uma conexão RDP.

Implante suas aplicações front-end do GitHub usando Plataforma de Aplicativos da DigitalOcean. Deixe a DigitalOcean cuidar da escalabilidade do seu aplicativo.

Pré-requisitos

Para completar este tutorial, você precisará de:

  • Um servidor Ubuntu 22.04 com um usuário não root com privilégios de sudo, um firewall e pelo menos 1GB de RAM, que você pode configurar seguindo o guia de configuração inicial do servidor Ubuntu 22.04.

  • Um computador local com um cliente RDP instalado. Uma lista de clientes RDP disponíveis para diferentes sistemas operacionais é fornecida abaixo:

Passo 1 — Instalando um Ambiente de Área de Trabalho no Ubuntu

Neste passo, você instalará e configurará um ambiente de área de trabalho em seu servidor Ubuntu. Por padrão, um servidor Ubuntu vem apenas com um ambiente de terminal. Um ambiente de área de trabalho precisará ser instalado para acessar uma interface de usuário.

Dentre as opções disponíveis para o Ubuntu, você instalará o ambiente de área de trabalho Xfce. Xfce oferece um ambiente de área de trabalho leve e amigável para sistemas baseados em Linux.

Para começar, conecte-se ao seu servidor usando SSH e atualize a lista de pacotes disponíveis com o seguinte comando:

  1. sudo apt update

Em seguida, instale os pacotes xfce e xfce-goodies no seu servidor:

  1. sudo apt install xfce4 xfce4-goodies -y

Você será solicitado a escolher um gerenciador de exibição, que é um programa que gerencia os mecanismos de login gráfico e as sessões de usuário. Você pode selecionar qualquer opção da lista de gerenciadores de exibição disponíveis, mas este tutorial usará o gdm3.

Após instalar o ambiente de desktop, agora você instalará o xrdp no seu servidor.

Passo 2 — Instalando o xrdp no Ubuntu

O xrdp é uma implementação de código aberto do servidor RDP que permite conexões RDP para servidores baseados em Linux. Neste passo, você irá instalar o xrdp no seu servidor Ubuntu.

Para instalar o xrdp, execute o seguinte comando no terminal:

  1. sudo apt install xrdp -y

Após instalar o xrdp, verifique o estado do xrdp usando o systemctl:

  1. sudo systemctl status xrdp

Este comando irá mostrar o estado como ativo (executando):

Output
● xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled) Active: **active (running)** since Sun 2022-08-07 13:00:44 UTC; 26s ago Docs: man:xrdp(8) man:xrdp.ini(5) Main PID: 17904 (xrdp) Tasks: 1 (limit: 1131) Memory: 1016.0K CGroup: /system.slice/xrdp.service └─17904 /usr/sbin/xrdp

Se o estado do xrdp não estiver executando, talvez seja necessário iniciar o serviço manualmente com este comando:

  1. sudo systemctl start xrdp

Após executar o comando acima, verifique novamente o estado para garantir que o xrdp esteja em estado executando.

Você agora instalou o xrdp no seu servidor. Em seguida, você revisará a configuração do xrdp para aceitar conexões de clientes remotos.

Passo 3 — Configurando o xrdp e Atualizando seu Firewall

Nesta etapa, você revisará a configuração padrão do xrdp, que está armazenada em /etc/xrdp/xrdp.ini, e adicionará uma configuração para uma conexão RDP. Você também atualizará as configurações do firewall.

xrdp.ini é o arquivo de configuração padrão para configurar conexões RDP com o servidor xrdp. O arquivo de configuração pode ser modificado e personalizado para atender aos requisitos de conexão RDP.

Abra o arquivo no editor de texto nano ou em qualquer editor de sua escolha:

  1. sudo nano /etc/xrdp/xrdp.ini

O arquivo de configuração contém diferentes seções:

  • Globals define algumas configurações globais para o xrdp.
  • Logging define parâmetros do subsistema de log para logs.
  • Channels define vários parâmetros de canal que o RDP suporta.
  • Tipos de sessão define vários tipos de sessão suportados pelo xrdp. Cada configuração de tipo de sessão é definida como uma seção separada sob o nome do tipo de sessão, entre colchetes, como [Xorg] e [XVnc]. Não há um cabeçalho [Tipos de sessões] no arquivo; em vez disso, é escrito como um comentário.

No arquivo de configuração, navegue até a seção Tipos de sessão. Você encontrará vários tipos de sessão suportados e seus parâmetros listados:

Output
... ; ; Session types ; ; Some session types such as Xorg, X11rdp, and Xvnc start a display server. ; Startup command-line parameters for the display server are configured ; in sesman.ini. See and configure also sesman.ini. [Xorg] name=Xorg lib=libxup.so username=ask password=ask ip=127.0.0.1 port=-1 code=20 [Xvnc] name=Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=-1 #xserverbpp=24 #delay_ms=2000 [vnc-any] ... [neutrinordp-any] ... ...

Por padrão, os parâmetros username e password são definidos como ask, o que significa que o usuário será solicitado a inserir seu nome de usuário e senha para se conectar via RDP. Parâmetros como name, username e password podem ser modificados, se necessário. Para a conexão RDP inicial com o servidor, a configuração padrão será suficiente.

Salve e feche o arquivo quando terminar.

Agora vá para o diretório pessoal do seu usuário, se ainda não estiver lá:

  1. cd ~

Em seguida, você criará um arquivo .xsession em /home/sammy e adicionar xfce4-session como o gerenciador de sessões a ser usado ao fazer login:

  1. echo "xfce4-session" | tee .xsession

tee escreve a string "xfce4-session" no arquivo .xsession. A configuração acima garante que xfce4-session seja usado como gerenciador de sessões ao solicitar o login gráfico. Como resultado da instalação do xfce como seu ambiente de desktop, xfce4-session serve como seu gerenciador de sessões. Se você não incluir essa informação no arquivo .xsession, nenhum gerenciador de sessões será escolhido e a sessão RDP falhará ao se conectar à exibição gráfica.

Reinicie o servidor xrdp:

  1. sudo systemctl restart xrdp

Em seguida, você configurará seu firewall para permitir conexões remotas do seu IP público na porta 3389. Uma conexão RDP funciona na porta TCP/IP 3389. Para acessar o servidor remoto via RDP, você deve permitir a porta 3389 em seu firewall.

Primeiro, encontre o IP público para sua máquina local:

  1. curl ifconfig.me

No Windows, use o Prompt de Comando do Windows para executar este comando.

curl faz uma solicitação em ifconfig.me que retorna seu IP público como saída:

Output
... your_local_ip

Em seguida, permita acesso à porta RDP 3389 no seu servidor remoto, substituindo seu_ip_local pela saída do último comando:

  1. sudo ufw allow from your_local_ip/32 to any port 3389

Verifique o estado do seu firewall UFW:

  1. sudo ufw status

A saída deve ser semelhante à seguinte:

Output
Status: Active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 3389 ALLOW your_local_ip OpenSSH (v6) ALLOW Anywhere (v6) ...

Você agora habilitou a porta 3389 para aceitar conexões do seu IP público. Em seguida, você testará a conexão RDP da sua máquina local para o servidor remoto.

Passo 4 — Testando a Conexão RDP

Neste passo, você testará a conexão RDP da sua máquina local. As seções abaixo incluem ações para testar a conexão em máquinas Windows, macOS e Linux.

Testando a Conexão RDP no Windows

Para testar a conexão usando o cliente Conexão de Área de Trabalho Remota no Windows, primeiro inicie o aplicativo Conexão de Área de Trabalho Remota.

Insira o IP público do seu servidor remoto e o nome de usuário nos campos editáveis para Computador e Nome de usuário. Você pode precisar pressionar a seta para baixo para Mostrar Opções para inserir o nome de usuário:

Pressione o botão Conectar. Se você receber um alerta de que o Desktop Remoto não pode se conectar ao computador remoto, verifique se você ativou a opção de Desktop Remoto nas configurações do seu sistema.

Pressione Sim se você receber o pop-up de verificação de identidade:

Em seguida, insira o nome de usuário do seu servidor remoto (sammy) e a senha que você criou para o usuário sammy durante a configuração inicial do servidor. Pressione Ok.

Depois de ter feito login, você deverá conseguir acessar o ambiente de trabalho do seu Ubuntu:

Usando o RDP, você se conectou com sucesso ao seu servidor Ubuntu remoto a partir da sua máquina local. Você pode fechá-lo com o botão de saída quando terminar de usar seu ambiente de trabalho gráfico.

Testando a Conexão RDP no macOS

Para testar a conexão usando o cliente de Conexão de Desktop Remoto no macOS, primeiro abra o aplicativo Microsoft Remote Desktop Connection.

Pressione Adicionar PC, depois insira o IP público do seu servidor remoto na caixa editável:

Você pode Adicionar uma conta de usuário ao configurar a conexão:

Se você não adicionar um usuário durante a configuração, será solicitado que você insira suas credenciais de login:

Pressione Sim para ignorar a janela de verificação de identidade:

Depois de fazer login, você poderá acessar sua área de trabalho remota do Ubuntu. Você pode fechá-la com o botão de saída quando terminar de usar sua área de trabalho gráfica.

Testando a Conexão RDP no Linux

Você precisará de um cliente RDP para testar a conexão RDP em uma máquina Linux local. Primeiro, instale o cliente RDP remmina para o Ubuntu:

  1. sudo apt install remmina

Se solicitado, selecione s para concluir a instalação. Este comando instalará o Remmina, um cliente de área de trabalho remota de código aberto, em seu sistema Ubuntu usando o apt. Para outras distribuições Linux, você pode consultar a documentação do Remmina para instalação.

Uma vez instalado, inicie o aplicativo remmina em sua máquina Linux local e insira o IP público do seu servidor remoto na caixa. Pressione Enter no teclado para se conectar à sua área de trabalho remota.

Em seguida, insira o nome de usuário do seu servidor remoto (para este tutorial, o nome de usuário é sammy) e a senha que você criou para o usuário durante a configuração inicial do servidor. Pressione Ok.

Pode ser necessário inserir novamente a senha do usuário para desbloquear a área de trabalho remota.

Assim que você fizer o login, deverá conseguir acessar o ambiente de trabalho do seu Ubuntu.

Usando o RDP, você se conectou com sucesso ao seu servidor Ubuntu remoto a partir da sua máquina local. Você pode encerrar a conexão clicando no botão de saída quando terminar de usar a área de trabalho gráfica.

Depois de garantir que a conexão remota está funcionando, você pode usar essa sequência sempre que precisar utilizar a interface gráfica para o seu servidor Linux remoto.

Conclusão

Neste artigo, você configurou o xrdp para se conectar a uma área de trabalho gráfica para o seu servidor Ubuntu remoto por meio de uma conexão RDP a partir de uma máquina local.

Agora, você pode tentar configurar uma conexão VNC para o seu servidor Linux com Como Instalar e Configurar o VNC no Ubuntu 20.04. O VNC é outra opção para conexão remota a uma área de trabalho Linux.

Source:
https://www.digitalocean.com/community/tutorials/how-to-enable-remote-desktop-protocol-using-xrdp-on-ubuntu-22-04