Um servidor Linux não tem tela, e na maior parte do tempo não precisa de uma. Às vezes precisa: um navegador que tem de sair do endereço do próprio servidor, uma ferramenta só com interface gráfica ou um desktop que você deixa rodando e retoma de qualquer computador. Este guia adiciona ao Ubuntu 24.04 o desktop leve XFCE e o xrdp, para abri-lo com o mesmo app de Área de Trabalho Remota que você usaria num servidor Windows.
Testamos cada passo na nossa imagem do Ubuntu 24.04. Dois padrões estragaram a primeira tentativa, e corrigimos os dois abaixo. Você vai precisar de um usuário normal com sudo; o guia de configuração do Ubuntu cria um. Nos exemplos, ele se chama deploy.
1. Instale o XFCE e o xrdp
sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp
No nosso servidor de 2 GB isso levou cerca de quatro minutos e meio e ocupou 1,7 GB de disco (2,7 GB usados antes, 4,4 GB depois). Instala o xrdp 0.9.24, que já inicia e escuta na porta 3389.
2. Faça o xrdp iniciar o XFCE, não o GNOME
Entre com o usuário que vai usar o desktop e rode:
echo xfce4-session > ~/.xsession
Sem esse arquivo, nosso primeiro login iniciou o GNOME em vez do XFCE, e a sessão caiu na hora com "Oh no! Something has gone wrong". Os pacotes do passo 1 também instalam o gerenciador de sessão do GNOME, e o Ubuntu o deixa como padrão. Com o ~/.xsession no lugar, o xrdp inicia o XFCE.
3. Deixe o xrdp usar TLS
O xrdp roda com o próprio usuário xrdp, e esse usuário não consegue ler a chave privada do servidor. Nossa primeira conexão funcionou, mas o /var/log/xrdp.log mostrou por que não dava para confiar nela:
Cannot read private key file /etc/xrdp/key.pem: Permission denied
Non-TLS connection established from ::ffff:127.0.0.1
Sem a chave, o xrdp volta para a criptografia RDP antiga em vez de TLS. Dê acesso a ele e reinicie:
sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp
A conexão seguinte apareceu no nosso log como TLS connection established ... TLSv1.3. Você pode conferir a sua do mesmo jeito:
sudo grep -E "TLS connection|Non-TLS" /var/log/xrdp.log | tail -2
4. Mantenha a porta 3389 fora da internet
Depois de instalado, o xrdp escuta em todos os endereços. Ao contrário do Windows, o xrdp não tem Network Level Authentication, então qualquer um que alcance a porta ganha uma tela de login para tentar senhas. Faça-o escutar só no próprio servidor:
sudo sed -i 's|^port=3389$|port=tcp://127.0.0.1:3389|' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp
ss -ltn | grep 3389
A última linha deve mostrar 127.0.0.1:3389. No nosso teste, uma conexão direta ao endereço do servidor na 3389 passou a ser recusada, e o túnel do passo seguinte continuou funcionando.
5. Conecte pelo SSH
No seu computador, abra um túnel. No Windows, o PowerShell tem o mesmo comando ssh:
ssh -L 13389:localhost:3389 deploy@YOUR.SERVER.IP
Num plano NAT, acrescente -p e a porta SSH pessoal do painel. Deixe essa janela aberta. Depois aponte o app de Área de Trabalho Remota para localhost:13389 e entre como deploy com a senha desse usuário:
- Windows: Conexão de Área de Trabalho Remota (
mstsc). - macOS: o Windows App, da App Store.
- Linux: Remmina, ou
xfreerdp /v:localhost:13389 /u:deploy.
A porta local é 13389 e não 3389 porque a 3389 pode já estar ocupada no seu computador pela própria Área de Trabalho Remota dele. Na primeira vez, o app avisa sobre um certificado que não reconhece. É o certificado autoassinado do servidor, e a conexão já vai criptografada dentro do SSH.
6. O que você ganha
Você ganha um desktop XFCE com painel, gerenciador de arquivos e terminal. No nosso servidor, uma sessão somou cerca de 360 MB de RAM: 388 MB usados antes de conectar e 747 MB durante a sessão.
Fechar a janela da Área de Trabalho Remota não encerra a sessão. No nosso teste, um comando longo continuou rodando depois que desconectamos. Ao conectar de novo, o xrdp nos devolveu à mesma sessão (reconnected session ... display :10 no log dele). Para encerrar a sessão de verdade, use Log Out no menu do XFCE.
Qual plano
O desktop precisa mais de RAM do que de CPU. O Micro (2 vCPU, 2 GB, 25 GB, $5/mês) roda o XFCE e ferramentas leves com folga. Se pretende deixar um navegador aberto na sessão, escolha o Small, com 4 vCPU e 4 GB por $8/mês. Os dois são planos NAT, e aqui isso não atrapalha: a Área de Trabalho Remota passa pela sua porta SSH.
Se o que você precisa mesmo é de software Windows, um VPS Windows roda direto, e o Windows-Small começa em $11/mês. O Ubuntu 24.04 está na página do Ubuntu VPS e em todos os planos Linux em VPS. O pagamento é em USDT, USDC ou ETH nas redes Base, Ethereum ou Polygon.
Comentários
Nenhum comentário ainda. Seja o primeiro.