No post anterior, vimos como usar clientes RDP no Linux para acessar áreas de trabalho remotas do Windows ou Terminal Services do Windows Server. Mas se você precisa disponibilizar áreas de trabalho remotas do Linux para clientes com Windows (uma espécie de “Terminal Services do Linux”), é possível fazer isso?
É possível sim! Hoje você verá como fazer no Linux Kamarada e no openSUSE usando o XRDP.
O XRDP é um servidor de áreas de trabalho remotas para Linux baseado no protocolo RDP (Remote Desktop Protocol, “protocolo de área de trabalho remota”). Esse é o mesmo protocolo usado pelo aplicativo Conexão de Área de Trabalho Remota do Windows e pelos clientes RDP que vimos no post anterior.
Instalando o XRDP
No computador ou servidor Linux que disponibilizará a(s) área(s) de trabalho (vamos chamá-lo apenas de “servidor” de agora em diante), instale o XRDP executando os comandos a seguir como administrador (usuário root):
1
2
# zypper ref
# zypper in xrdp
Habilite o serviço do XRDP para que ele seja iniciado automaticamente durante o boot:
1
# systemctl enable xrdp
Você também pode iniciar o XRDP imediatamente, não precisa reiniciar o servidor:
1
# systemctl start xrdp
Instalando o VNC
Para prover conexões via RDP, um protocolo nativo do Windows, o XRDP utiliza nos bastidores o VNC, um protocolo de acesso remoto mais comum no Linux. Por isso, antes de usar o XRDP propriamente dito, devemos instalar o VNC, o que é fácil fazer no Linux Kamarada e no openSUSE por meio do Centro de controle do YaST.
Abra o Centro de controle do YaST. Para fazer isso no Linux Kamarada, abra o menu Atividades, no canto superior esquerdo da tela, digite yast
e clique no ícone correspondente:
Dentro da categoria Serviços de rede, clique no item Administração remota (VNC):
Na tela seguinte, selecione a opção Permitir Administração Remota com Gerenciamento de Sessões e clique em Próximo:
(na verdade, eu testei as duas primeiras opções e não vi diferença no final)
O YaST informa que é necessário instalar o pacote vncmanager. Clique em Instalar:
Aguarde a conclusão do processo de instalação e configuração. Ao final, clique em OK:
Configurando o firewall no servidor
Para terminar a instalação e configuração do XRDP, falta apenas mais um detalhe, que é liberar no firewall a porta usada pelo protocolo RDP, que é, por padrão, a porta 3389 TCP.
Se você usa o firewalld, que é o firewall padrão do Linux Kamarada, o protocolo RDP está pré-cadastrado com o nome de ms-wbt
(sigla para Microsoft Windows-Based Terminal). Você só precisa habilitá-lo na zona da sua interface de rede. Supondo que seja a zona pública (public
), você pode habilitá-lo com o comando (modifique conforme necessário):
1
# firewall-cmd --permanent --zone=public --add-service=ms-wbt
Depois, recarregue as regras do firewalld:
1
# firewall-cmd --reload
Caso você use o firewall iptables, para liberar a porta 3389 TCP, adicione essas linhas ao seu script de configuração:
1
2
# RDP (porta 3389/TCP)
iptables -A INPUT -p tcp --dport 3389 -j ACCEPT
Note que você só precisa fazer essa configuração no servidor. Se ela fosse necessária também no cliente, teríamos feito também no post anterior.
Encerrando a sessão no servidor
Enquanto usa a área de trabalho remota do Windows, você não pode usar o servidor (sentando-se em frente a ele) e acessa-lo remotamente ao mesmo tempo: se você inicia um acesso remoto, a tela no servidor é bloqueada. Bem assim, se você faz logon no servidor, o acesso remoto é interrompido.
O XRDP funciona de forma semelhante, com a diferença que o encerramento da sessão não é feito de forma automática, mas manual. Antes de iniciar um acesso remoto a um servidor XRDP, você deve encerrar sua sessão nesse servidor.
Para encerrar sua sessão no Linux Kamarada, abra o menu do sistema, no canto superior direito da tela, expanda seu nome de usuário e clique em Encerrar sessão:
Acesso remoto a partir do Windows
No computador com Windows a partir do qual você fará o acesso remoto, abra o menu Iniciar, digite conexao
e clique no ícone do aplicativo Conexão de Área de Trabalho Remota:
Digite o endereço IP ou o nome de rede (hostname) do Computador que deseja acessar (no meu exemplo, 10.0.0.253
) e clique em Conectar:
O aplicativo pergunta se pode confiar na conexão com o computador remoto. Marque a opção Não perguntar novamente sobre conexões com este computador e clique em Sim:
O cliente de área de trabalho remota do Windows mostra a tela de login do XRDP:
Digite seu nome de usuário (username) e senha (password) no servidor Linux acessado e clique em OK.
Feito isso, você terá acesso à sua área de trabalho no servidor Linux acessado:
(note que, inicialmente, o acesso é feito em tela cheia, mas você pode mudar para uma janela)
Quando não precisar mais do acesso remoto, lembre-se de encerrar sua sessão no Linux.
Dica: criando um atalho para a conexão
Se pretende acessar esse servidor Linux com frequência, você pode, para a sua conveniência, salvar as configurações da conexão em algum local de fácil acesso, como a Área de Trabalho.
Para isso, na tela inicial do aplicativo Conexão de Área de Trabalho Remota, clique em Mostrar Opções. Digite o endereço IP ou nome de rede do Computador remoto com Linux. Digite também seu Nome de usuário nesse computador. Opcionalmente, marque a opção Permitir salvar minhas credenciais se você também deseja salvar a senha. Por fim, clique em Salvar como:
Escolha um local e um nome para o arquivo e salve-o.
Em seguida, clique em Conectar. Vamos fazer uma conexão apenas para salvar a senha.
O aplicativo pergunta se você confia conectar com o computador remoto. Marque a opção Não perguntar novamente sobre conexões com este computador e clique em Conectar:
Se você optou por salvar a senha, digite-a na caixa de diálogo seguinte, certifique-se de que a opção Lembrar-me esteja marcada (por padrão, está) e clique em OK:
Agora você terá acesso à área de trabalho remota. Apenas encerre sua sessão.
Pronto! Feito isso, para se conectar novamente a esse servidor, é só dar duplo-clique no arquivo:
Acesso remoto a partir do Linux
Se seu computador com Linux possui um cliente RDP instalado, pode acessar remotamente outro computador ou servidor com Linux rodando o XRDP — ou seja, uma conexão RDP Linux para Linux:
Para mais informações sobre os clientes RDP existentes para Linux, consulte o post anterior:
Conclusão
Como vimos, o XRDP é uma forma prática de prover acesso remoto ao Linux a partir do Windows, uma vez que não é necessário instalar software adicional no Windows, que já possui um cliente RDP nativo.
De certa forma, é também uma forma prática de prover acesso remoto de Linux para Linux. Basta instalar no servidor o XRDP e nos clientes, um dos clientes RDP listados no post anterior.
Referências
- OpenSUSE Leap 15: Connect to KDE desktop environment via XRDP - Narrow Escape
- Remote Graphical Sessions with VNC - Reference - openSUSE Leap 15.1
- Connecting via RDP - Guide - SUSE Linux Enterprise Server for SAP Applications 15 SP1
- opensuse - Enabling XRDP for remote on SUSE Linux Enterprise Server 12 SP3 (HVM) - Unix & Linux Stack Exchange
- How To Save Password in A Remote Desktop Connection in Windows 8 - Next of Windows
- Virtual Desktop Infrastructure by xrdp - openSUSE - YouTube