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

user1667630
fonte

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:

Nikos
fonte
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!

stevenmirabito
fonte
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

user224176
fonte
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.

Ketan Patel
fonte
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.

jamjam
fonte
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).

user292300
fonte
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
Antony Ruddy
fonte