Impossibile eseguire il desktop remoto utilizzando xrdp


13

Ho una macchina virtuale Ubuntu su cui devo fare il desktop remoto. Non ho accesso fisico a quella macchina e posso fare solo ssh alla macchina. Volevo fare il desktop remoto e mi sono venute in mente molte opzioni (vnc, xrdp, opennx). Ho usato xrdp e ho installato i pacchetti necessari nella macchina ubuntu (xrdp e dipendenti). Quindi ho abilitato l'accesso remoto in Ubuntu usando la seguente opzione da riga di comando.

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

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

Quindi ho riavviato xrdp (/etc/init.d/xrdp start). Ma quando provo a fare rdp usando il client Windows (mstsc), ottengo il seguente errore. L'accesso remoto al server non è abilitato.

Come lo risolvo? Gentile aiuto.

Raj

Risposte:


13

Nel file /etc/xrdp/xrdp.ini aggiungi indirizzo = 0.0.0.0 che è l'indirizzo xrdp predefinito.

Inoltre, devi consentire al firewall di ascoltare le connessioni sulla porta 3389 su cui xrdp sta lavorando. Per questo eseguire:

sudo ufw allow 3389

Se non funziona neanche:

  1. Riavvia PC
  2. Disabilita il firewall ( sudo ufw disable) sul PC server e quindi ricontrolla (potrebbe anche essere necessario un altro riavvio).

Nel caso in cui l'avessi perso, elencherò di seguito l'intera procedura (che è stata una seccatura da montare). Ti andrà bene se segui passo dopo passo (prometti!).


Desktop remoto tra le istruzioni dettagliate di qualsiasi sistema operativo

Io . Windows da / verso Windows:

Utilizzare il software Desktop remoto di Windows

II . Linux / Unix da / verso qualsiasi luogo

Per prima cosa, procedi come segue sul computer server che ti collegherai tramite desktop remoto:

- 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 . Da Windows a Linux dal terminale con supporto grafico

- 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 per una migliore) da Windows a Linux con pieno supporto della GUI. Questo è ciò che la maggior parte di voi vorrà.

- 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 a / da * nix

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

IV . Rendere sicura la connessione (passaggio facoltativo: si applica a qualsiasi configurazione)

I protocolli VNC e xrdp non sono sicuri, il che significa che non sono crittografati.

Per rendere sicura la connessione, modifica il file /etc/xrdp/xrdp.ini in modo che l'indirizzo diventi 127.0.0.1. Questo sarà l'indirizzo localhost del server ssh. La crittografia SSH verrà utilizzata sotto per tunnelare il traffico VNC.

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

Se quanto sopra non funziona:

  1. Potrebbe essere necessario riavviare entrambi i computer,
  2. Disabilita il firewall ( sudo ufw disable) sul PC server e quindi ricontrolla (potrebbe anche essere necessario un altro riavvio).
  3. Se sopra non funziona, hai incasinato il tuo sistema installando pacchetti in conflitto. È necessario eseguire una risoluzione manuale dei problemi (molto improbabile che si raggiunga questo passaggio se si seguono correttamente le istruzioni).

Fonti e credito:


Se usi Ubuntu 18.04.2 o Ubuntu 18.04.3, l'installazione di xorgxrdp-hwe-18.04 potrebbe risolvere il tuo problema (ha risolto il mio). Vedi questo post del blog: c-nergy.be/blog/?p=13972
jhin

4

Non ho familiarità con xrdp in particolare, ma la prima cosa che vorrei controllare è vedere se la porta che sta usando è a) ascoltare connessioni eb) aprire al mondo esterno. La porta predefinita per RDP è 3389 .

Il primo è abbastanza facile da controllare; basta eseguirlo nel terminale sul computer a cui si sta tentando di connettersi (cambiare 3389 se xrdp è in ascolto su una porta diversa):

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

Se ottieni qualcosa di simile al seguente, almeno qualcosa (si spera xrdp) sta ascoltando le connessioni:

tcp        0      0 127.0.1.1:3389            0.0.0.0:*               LISTEN

Se non ottieni alcun output, prova a (ri) avviare xrdp o verifica di avere la porta giusta.

Successivamente, è necessario assicurarsi che la macchina sia accessibile a Internet su quella porta, il che comporta due cose: assicurarsi che il firewall sulla macchina stessa non blocchi le connessioni a quella porta e assicurarsi che qualsiasi dispositivo di rete ( cioè un router) tra il computer a cui stai tentando di collegarti e Internet non blocca le connessioni. PortForward.com può aiutare con quest'ultimo; il primo dipende dal tipo di firewall installato sul computer, se presente.

Spero che sia di aiuto!


1
Di seguito è riportato l'output di netstat .. Controllerò la seconda parte e ti farò sapere .. tcp 0 0 0.0.0.0:3389 0.0.0.0:* ASCOLTA
user1667630

OK, bene, ciò significa che xrdp è in attesa di connessioni. Hai detto che puoi accedere solo alla macchina virtuale sulla porta 22, il che sarebbe il motivo per cui il client RDP non può connettersi. Quale software di macchina virtuale stai usando?
Stevmirmirabito,

Mi dispiace .. puoi per favore dire cosa intendi per "software di macchina virtuale" ... In Ubuntu ho appena installato xrdp ..
user1667630

Hai detto nel tuo OP: In I have a virtual machine (ubuntu) to which i need to do remote desktop.quale software è in esecuzione la macchina virtuale (VirtualBox, VMware, Virtuozzo, Xen, OpenVZ, ecc.)? È una macchina sul tuo computer locale o è un VPS ospitato da qualche parte?
Stevmirmirabito,

scusa .. sì .. è un VPS ospitato da qualche parte !! Fondamentalmente utilizza la soluzione di Apache Software Foundation .. Virtual Computing Lab !!
user1667630

2

Finalmente ho avuto questo per funzionare per me; installazione: laptop più vecchio con Ubuntu 13.10 con unità standard; Ho installato cairo dock (il che lo rende molto più utilizzabile per me); ancora non utilizzato per la barra dell'app sul lato sinistro;

Sarebbe bello poter usare il mio sistema win7 per rdp in questo Ubuntu 13.10 così ho trascorso un paio d'ore questa mattina a fare ricerche. Ecco cosa ho fatto:

sudo apt-get update
sudo apt-get install xrdp

oppure potresti usare Ubuntu Software Center per l'installazione.

L'installazione sembrava andare bene e sembrava che il servizio xrdp fosse avviato bene.

Dalla mia finestra win7, ho aperto una finestra rdp e ho usato l'indirizzo IP del laptop per entrare; una finestra si è aperta ma solo uno schermo standard di Windows x11 (modello di tratteggio incrociato con cursore x); nessun link, icone o menu da utilizzare.

Altre ricerche su Google. Ho installato gnome-session-fallback:

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

Questo non ha funzionato; Ho avuto lo stesso schermo vuoto, ma ho trovato un altro URL che mi ha suggerito un'altra sessione di Windows come XFCE, quindi ho installato il desktop xubuntu:

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

Non dimenticare di sudo /etc/init.d/xrdp restartdopo tutte le modifiche.

Questo ha funzionato. All'inizio, all'avvio iniziale della sessione rdp, ho ottenuto lo stesso schermo vuoto ma dopo 10 secondi (probabilmente perché sto usando un VDI win7 al lavoro da una posizione remota) ho spuntato un desktop xfuntu xfce utilizzabile; non bello come lo gnomo ma molto utilizzabile.

Spero che queste informazioni siano utili, dato che non sono riuscito a ottenere i tentativi iniziali di lavorare per me.

Dave


1

Benvenuto nella community di Ubuntu.

Prima di tutto controlla le impostazioni di rete della macchina virtuale di Windows in Virtual Box. Scegliere Bridge Connection nelle impostazioni di rete. Verificare che RDP sia autorizzato a passare attraverso Firewall di Window Client.


Ciao .. sono in grado di fare ssh. Potete per favore dirmi come chiedere se RDP è autorizzato a passare attraverso il firewall
user1667630

Ya, Apri le impostazioni del firewall nel client Windows, otterrai un elenco di programmi e servizi che possono passare, Trova RDP, Fai clic su Modifica, Abilita e applica.
Ketan Patel,

Era già abilitato !! L'ho controllato .. Esiste un altro modo per ottenere l'interfaccia utente di Ubuntu. Un altro problema è che solo la porta 22 è abilitata in Ubuntu.
user1667630

Disattiva Ubuntu Firewall usando il servizio di comando iptables stop
Ketan Patel

1
sudo ufw disable 

quindi prova ad accedere utilizzando il tuo software client rdp .. Sono in procinto di impostare questo per 12.04 Linux vps, finora mi sono collegato ma non vedendo un desktop solo una finestra di comando.

Ciao amico, hai detto che ti sei collegato e tutto ciò che vedi è una finestra terminale, non so quale sia il tuo set completo ma qui, mio, spero che ti sia d'aiuto.

Assicurati che il tuo vncserver sia in esecuzione vncserver :1 accanto nanoa ~/.vnc/xstartupquesto ti porta in un cestino !! bla bla file, dove vedi l'ultima riga ( & -x-window-manager), aggiungi & /etc/X11/Xsession &

Ora vai in questo file /etc/xrdp/startwm.shed ESSERE SICURO QUI, la tua ultima riga è

. /etc/X11/Xsession

dopo averlo fatto, riavviare vncserver eseguendo questa operazione.

vncserver -kill :1 

quindi riavviare

vncserver :1

A proposito, ho dovuto installare più di un semplice Xrdp e ho fatto qualche altro comando per un fallback se Xrdp falliva, tutto mi sembra buono al momento, provalo e fai sapere cosa sta cucinando o no. In bocca al lupo. Ps .. è fantastico quando funziona, stai con esso.


0

Se attraverso il firewall è consentita solo la porta 22 e non si ha il controllo del percorso di rete, è possibile utilizzare il tunneling ssh per eseguire il tunneling della porta scelta sulla casella remota attraverso il sistema locale.

Se lo fai da un box Linux / Unix, guarda il flag -L per ssh:

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

dove il primo 3390 è il numero di porta locale e il secondo 3389 è il numero di porta remota; si dovrebbe quindi RDC a 127.0.0.1:3390 per connettersi. Nota che il tunnel è legato alla sessione ssh - se chiudi quella sessione ssh, anche il tunnel si chiuderà e la tua connessione al desktop remoto cadrà. Assicurati di utilizzare una porta non utilizzata per il lato locale.

Se ti connetti da un sistema Windows usa putty e abilita le opzioni di tunneling ssh per la tua sessione (guarda connessione-> SSH-> Tunnel nelle opzioni di configurazione della sessione).

Una volta stabilito il tunnel, è possibile utilizzare il client RDP scelto per connettersi. Molte delle altre risposte riguardano questa parte dell'installazione (personalmente ho finito per seguire il suggerimento di xfce4-session.)


0

Esegui i comandi nel terminale:

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.