Não é possível executar a área de trabalho remota usando xrdp


13

Eu tenho uma máquina virtual Ubuntu na qual preciso fazer a área de trabalho remota. Não tenho acesso físico a essa máquina e posso fazer apenas ssh na máquina. Eu queria fazer a área de trabalho remota e vi várias opções (vnc, xrdp, opennx). Usei o xrdp e instalei os pacotes necessários na máquina ubuntu (xrdp e dependente). Ativei o acesso remoto no ubuntu usando a seguinte opção de linha de comando.

gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true

gconftool-2 -s -t bool /desktop/gnome/remote_access/prompt_enabled false

Depois reiniciei o xrdp (/etc/init.d/xrdp start). Mas quando tento fazer o rdp usando o cliente Windows (mstsc), recebo o seguinte erro. O acesso remoto ao servidor não está ativado.

Como eu resolvo isso? Por favor, ajude.

Raj

Respostas:


13

No arquivo /etc/xrdp/xrdp.ini, adicione endereço = 0.0.0.0, que é o endereço xrdp padrão.

Além disso, você deve permitir que o firewall ouça as conexões na porta 3389 na qual o xrdp está trabalhando. Para isso, execute:

sudo ufw allow 3389

Se isso também não funcionar:

  1. Reiniciar PCs
  2. Desative o firewall ( sudo ufw disable) no PC do servidor e, em seguida, verifique novamente (pode até ser necessário reiniciar).

Caso você tenha perdido, vou listar todo o procedimento abaixo (o que foi difícil de montar). Você ficará bem com isso se seguir passo a passo (promessa!).


Área de trabalho remota entre o guia passo a passo de qualquer sistema operacional

I . Windows para / do Windows:

Use o software Windows Remote Desktop

II . Linux / Unix para / de qualquer lugar

Primeiro, faça o seguinte no computador servidor ao qual você se conectará via área de trabalho remota:

- Allow other users to view your desktop
- Best to require a password
- service ssh status
- To allow computers to connect with X11 graphics system capabilities as well, you need to 
    install an X11 server on the computer that is trying to connect (client). So
    * for a Windows computer use XMing
    * for a Linux Ubuntu computer use XQuartz

IIa . Windows para Linux a partir do terminal com suporte gráfico

- Launch XMing on Windows client
- Launch Putty
    * Fill in basic options
    * Connection -> SSH -> X11
        -> Enable X11 forwarding
        -> X display location = :0.0
        -> MIT-Magic-Cookie-1
        -> X authority file for local display = point to the Xming.exe executable

IIb . (b para melhor) Windows para Linux com suporte completo a GUI. É isso que a maioria de vocês deseja.

- install xrdp which uses the remote desktop protocol to present a GUI to the user. 
    It can provide a fully functional Linux terminal server, capable of accepting connections 
    from rdesktop, freerdp, and Microsoft's own terminal server / remote desktop clients. 
    xrdp is the daemon that handles RDP remote desktop access from Windows machines to Linux 
- edit the "/etc/xrdp/xrdp.ini" file to include the line:
    address=0.0.0.0
    right under #background=626x72 line. 0.0.0.0 is the local server address of xrdp
- Restart xrdp service
- allow xrdp port (probably 3389) through firewall
- We also need a VNC server. Install tightvncserver on Linux server machine. 
- run tightvncserver (no need to create a view-only password)
- "netstat -lvp | grep vnc" to check out the ports that tightvnc is listening on for 
    connections
- allow the vncserver port from the firewall: sudo ufw allow #
- allow the xrdp server
- Install xfce4 desktop environment an update to xfce, minimalistic faster and lightweight
    sudo apt-get install xfce4
- sudo apt-get install xfce4-terminal : way better than xterm
- sudo apt-get install gnome-icon-theme-full tango-icon-theme : installs icon sets
- Now we modify 2 files to make sure xrdp uses xfce4
    * echo xfce4-session >~/.xsession
    * secondly we modify startup file for xRDP located at /etc/xrdp/startwm.sh
        so it will start xfce4. Replace the last line with 
        startxfce4 
        (before it had something which started with a ., but no matter whatever it is, just 
        replace the last line)
    * restart xrdp service: sudo service xrdp restart
- Now you are ready to log into the computer from client using Remote Desktop (mstsc.exe). 
    Just supply the ipv4 or hostname of the VNC server.

III . * nix de / para * nix

- ssh -X [preferedUserName]@[targetIpv4Address] : -X flag enales X11 forwarding
- accept security certificates from trusted hosts when prompted

IV . Tornando a conexão segura (etapa opcional - aplica-se a qualquer configuração)

Os protocolos VNC e xrdp não são seguros, o que significa que eles não são criptografados.

Para tornar a conexão segura, edite o arquivo /etc/xrdp/xrdp.ini para que o endereço se torne 127.0.0.1. Este será o endereço do host local do servidor ssh. A criptografia SSH será usada abaixo para encapsular o tráfego vnc.

- sudo service xrdp restart
- sudo service ssh restart
- pkill Xtightvnc
- tightvncserver
- putty -> Connection -> SSH -> Tunnels 
    * Source port: 5555
    * Destination: localhost:3389

Se o acima não funcionar:

  1. Pode ser necessário reiniciar os dois computadores,
  2. Desative o firewall ( sudo ufw disable) no PC do servidor e, em seguida, verifique novamente (pode até ser necessário reiniciar).
  3. Se acima não funcionar, você estragou o sistema instalando pacotes conflitantes. Você precisa solucionar o problema manualmente (é muito improvável que você alcance esta etapa se seguir as instruções corretamente).

Fontes e crédito:


Se você estiver executando o Ubuntu 18.04.2 ou Ubuntu 18.04.3, a instalação do xorgxrdp-hwe-18.04 pode resolver o seu problema (ele resolveu o meu). Veja esta publicação no blog: c-nergy.be/blog/?p=13972
jhin 03/01

4

Não estou familiarizado com o xrdp em particular, mas a primeira coisa que eu verificaria é ver se a porta está sendo usada: a) escutando conexões eb) aberta para o mundo externo. A porta padrão para o RDP é 3389 .

O primeiro é bem fácil de verificar; basta executar isso no terminal da máquina à qual você está tentando se conectar (altere 3389 se o xrdp estiver escutando em uma porta diferente):

netstat -an | grep "LISTEN " | grep ":3389"

Se você obtiver algo semelhante ao seguinte, pelo menos algo (espero que xrdp) esteja ouvindo conexões:

tcp        0      0 127.0.1.1:3389            0.0.0.0:*               LISTEN

Se você não obtiver nenhuma saída, tente (re) iniciar o xrdp ou verifique se você possui a porta correta.

Em seguida, você precisa garantir que a máquina esteja acessível à Internet nessa porta, o que envolve duas coisas: garantir que o firewall na própria máquina não esteja bloqueando as conexões com essa porta e garantir que qualquer dispositivo de rede ( ou seja, um roteador) entre o computador ao qual você está tentando se conectar e a Internet não está bloqueando as conexões. PortForward.com pode ajudar com o último; o primeiro depende de que tipo de firewall está instalado em sua máquina, se houver.

Espero que isto ajude!


11
Abaixo está a saída do netstat .. Vou verificar a segunda parte e deixar você saber .. tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
user1667630

OK, bom, isso significa que o xrdp está escutando conexões. Você disse que só pode acessar a máquina virtual na porta 22, razão pela qual o cliente RDP não pode se conectar. Qual software de máquina virtual você está usando?
Stevenmirabito 01/01

Lamento .. por favor você pode dizer o que você quer dizer com "software de máquina virtual" ... No ubuntu, Acabei de instalar xrdp ..
user1667630

Você disse no seu OP: Em I have a virtual machine (ubuntu) to which i need to do remote desktop.qual software a máquina virtual está sendo executada (VirtualBox, VMware, Virtuozzo, Xen, OpenVZ etc.)? É uma máquina no seu computador local ou é um VPS hospedado em algum lugar?
Stevenmirabito 01/01

desculpe .. sim .. é um VPS hospedado em algum lugar !! Basicamente, ele usa a solução da Apache Software Foundation .. Virtual Computing Lab !!
user1667630

2

Finalmente consegui que isso funcionasse para mim; configuração: laptop mais antigo executando o ubuntu 13.10 executando a unidade padrão; Eu instalei o cairo dock (o que o torna muito mais utilizável para mim); ainda não está acostumado à barra de aplicativos do lado esquerdo;

Seria bom poder usar meu sistema win7 para fazer rdp neste ubuntu 13.10, então passei algumas horas esta manhã fazendo pesquisas. Aqui está o que eu fiz:

sudo apt-get update
sudo apt-get install xrdp

ou você pode usar o ubuntu software center para instalar.

A instalação pareceu funcionar bem e parecia que o serviço xrdp foi iniciado corretamente.

Na minha caixa win7, abri uma janela de RDP e usei o endereço IP do laptop para entrar; uma janela se abriu, mas apenas uma tela padrão de janelas x11 (padrão de hachura com cursor x); sem links, ícones ou menus para usar.

Mais pesquisa no Google. Eu instalei o gnome-session-fallback:

$ sudo apt-get install gnome-session-fallback
$ echo "gnome-session --session=gnome-fallback" > ~/.xsession

Isso não funcionou; Eu peguei a mesma tela em branco, mas encontrei outra URL que sugeria outra sessão do Windows como o XFCE, então instalei o xubuntu desktop:

$ sudo apt-get install xubuntu-desktop
$ echo "xfce4-session" > ~/.xsession

Não se esqueça de sudo /etc/init.d/xrdp restartdepois de todas as alterações.

Isso funcionou. No início, na inicialização inicial da sessão de rdp, obtive a mesma tela em branco, mas após 10 segundos (provavelmente porque estou usando um VDI win7 no trabalho a partir de um local remoto), apareceu uma área de trabalho utilizável do xfce xubuntu; não é tão bom quanto o gnomo, mas muito útil.

Espero que esta informação seja útil, pois não consegui as primeiras tentativas de trabalhar para mim.

Dave


1

Bem-vindo à comunidade Ubuntu.

Antes de tudo, verifique as configurações de rede da máquina virtual do Windows na caixa virtual. Escolha Bridge Connection nas configurações de rede. Verifique se o RDP tem permissão para passar pelo Firewall do Window Client.


Oi .. eu sou capaz de fazer ssh. Você pode por favor me dizer como chek se RDP é permitido passar através de firewall
user1667630

Sim, abra as configurações de firewall no cliente Windows, você obterá uma lista de programas e serviços que têm permissão para passar, Localizar RDP, Clique em editar, Ativar e aplicar.
Ketan Patel

Já estava habilitado !! Eu verifiquei .. Existe alguma outra maneira de obter a interface do usuário do ubuntu. Mais um problema é apenas a porta 22 está habilitado no ubuntu ..
user1667630

Desligar o Ubuntu Firewall usando service iptables comando de parada
Ketan Patel

1
sudo ufw disable 

tente fazer login usando o software cliente rdp ... Estou no processo de configurar isso para o 12.04 linux vps, até agora fiquei conectado, mas não vendo uma área de trabalho apenas uma janela de comando.

Oi amigo, você disse que se conectou e tudo que vê é uma janela de terminal, não sei qual é a sua configuração completa, mas aqui está a minha, espero que ajude.

Tenha certeza que seu vncserver está sendo executado pelo vncserver :1 lado nanoem ~/.vnc/xstartupque o leva a um bin !! bla bla, onde você vê a última linha ( & -x-window-manager), adicione & /etc/X11/Xsession &

Agora entre neste arquivo /etc/xrdp/startwm.she tenha certeza de que sua última linha é

. /etc/X11/Xsession

depois de fazer isso, reinicie o vncserver fazendo isso.

vncserver -kill :1 

depois reinicie

vncserver :1

A propósito, eu tive que instalar mais do que apenas o Xrdp e fiz mais alguns comandos para um retorno caso o Xrdp falhasse, tudo parece bom no momento para mim, experimente e deixe saber o que está cozinhando ou não. Boa sorte. Ps .. é ótimo quando funciona, fica com ele.


0

Se apenas a porta 22 estiver sendo permitida através do firewall e você não tiver controle sobre o caminho da rede, convém usar o túnel ssh para encapsular a porta escolhida na caixa remota até o sistema local.

Se fizer isso a partir de uma caixa Linux / Unix, observe o sinalizador -L para ssh:

ssh -L 3390:127.0.0.1:3389 -l remote_user remote_host

onde o primeiro 3390 é o número da porta local e o segundo 3389 é o número da porta remota; você faria o RDC para 127.0.0.1:3390 para se conectar. Observe que o túnel está vinculado à sessão ssh - se você fechar a sessão ssh, o túnel também será fechado e sua conexão com a área de trabalho remota será interrompida. Certifique-se de usar uma porta não utilizada para o lado local.

Se estiver se conectando a partir de um sistema Windows, use putty e ative as opções de encapsulamento ssh para sua sessão (consulte connection-> SSH-> Tunnels nas opções de configuração da sessão.)

Depois que o túnel é estabelecido, você pode usar o cliente RDP escolhido para se conectar. Várias das outras respostas abordam essa parte da configuração (pessoalmente acabei seguindo a sugestão da sessão xfce4).


0

Execute os comandos no terminal:

sudo apt-get install xrdp
sudo apt-add-repository ppa:ubuntu-mate-dev/ppa
sudo apt-add-repository ppa:ubuntu-mate-dev/trusty-mate
sudo apt-get update 
sudo apt-get upgrade
sudo apt-get install ubuntu-mate-core ubuntu-mate-desktop


echo mate-session >~/.xsession
sudo service xrdp restart
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.