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

O autor selecionou o Fundo de Auxílio COVID-19 para receber uma doação como parte do programa Write for DOnations.

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 um servidor remoto com 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 no Windows, mas você também pode acessar e interagir com a interface gráfica de um servidor Linux remoto usando uma ferramenta como 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 em sua máquina local. Você compreenderá como estabelecer acesso a um servidor Linux remoto configurando e utilizando uma conexão RDP.

Implante suas aplicações front-end do GitHub usando a Plataforma de Aplicativos 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:

    • No Windows, você pode usar o aplicativo padrão Conexão de Área de Trabalho Remota.
    • No macOS, você pode usar o aplicativo Microsoft Remote Desktop.
    • No Linux, você pode usar FreeRDP ou Remmina.

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

Neste passo, você irá instalar e configurar um ambiente de área de trabalho no 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 Ubuntu, você irá 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 usando 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 mecanismos de login gráfico e 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, você instalará agora 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 a instalação do xrdp, verifique o status do xrdp usando systemctl:

  1. sudo systemctl status xrdp

Este comando mostrará o status como active (running):

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 status do xrdp não estiver como running, você pode ter que iniciar o serviço manualmente com este comando:

  1. sudo systemctl start xrdp

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

Agora você instalou o xrdp no seu servidor. Em seguida, você irá 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ê irá 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 para 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 registro para logs.
  • Canais define múltiplos parâmetros de canal que o RDP suporta.
  • Tipos de sessão define múltiplos tipos de sessão suportados pelo xrdp. Cada configuração de tipo de sessão é definida como uma seção separada sob seu nome de tipo de sessão, entre colchetes, como [Xorg] e [XVnc]. Não há 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á múltiplos 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 home 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 gerenciador de sessão a ser usado no login:

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

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

Reinicie o servidor xrdp:

  1. sudo systemctl restart xrdp

Em seguida, configure o firewall para permitir conexões remotas do seu IP público na porta 3389. Uma conexão RDP opera na porta TCP/IP 3389. Para acessar o servidor remoto via RDP, você deve permitir a porta 3389 no 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 o 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 status do seu firewall UFW:

  1. sudo ufw status

A saída deve se parecer com o 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 seu 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.

Digite o IP público do seu servidor remoto e o nome de usuário nas caixas de texto preenchíveis para Computador e Nome de usuário. Talvez seja necessário 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 Área de Trabalho Remota nas configurações do seu sistema.

Pressione Sim se receber o popup de verificação de identidade:

Em seguida, digite 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 fazer login, você deve 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 sua área de trabalho gráfica.

Testando a Conexão RDP no macOS

Para testar a conexão usando o cliente Conexão de Área de Trabalho Remota no macOS, primeiro inicie o aplicativo Microsoft Remote Desktop Connection.

Pressione Adicionar PC, em seguida, insira o IP público do seu servidor remoto na caixa preenchí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 de usuário:

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 Ubuntu:

  1. sudo apt install remmina

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

Depois de instalado, inicie o aplicativo remmina em sua máquina Linux local e insira o IP público do seu servidor remoto na caixa preenchível. 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.

Você pode precisar inserir a senha do usuário novamente para desbloquear o desktop remoto.

Depois de fazer login, você deverá conseguir acessar o ambiente de trabalho do seu Ubuntu.

Usando RDP, você se conectou com sucesso ao seu servidor remoto Ubuntu 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.

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

Conclusão

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

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

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