Impossible de faire un bureau à distance à l'aide de xrdp


13

J'ai une machine virtuelle Ubuntu sur laquelle je dois faire un bureau à distance. Je n'ai pas d'accès physique à cette machine et je ne peux que faire ssh sur la machine. Je voulais faire du bureau à distance et j'ai proposé beaucoup d'options (vnc, xrdp, opennx). J'ai utilisé xrdp et j'ai installé les packages nécessaires sur la machine ubuntu (xrdp et dépendants). Ensuite, j'ai activé l'accès à distance dans l'ubuntu en utilisant l'option de ligne de commande suivante.

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

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

Ensuite, j'ai redémarré le xrdp (/etc/init.d/xrdp start). Mais lorsque j'essaie de faire du rdp en utilisant le client Windows (mstsc), j'obtiens l'erreur suivante. L'accès à distance au serveur n'est pas activé.

Comment résoudre ce problème? Aide aimablement.

Raj

Réponses:


13

Dans le fichier /etc/xrdp/xrdp.ini, ajoutez l'adresse = 0.0.0.0 qui est l'adresse xrdp par défaut.

Vous devez également autoriser le pare-feu à écouter les connexions sur le port 3389 sur lequel xrdp travaille. Pour cela, exécutez:

sudo ufw allow 3389

Si cela ne fonctionne pas non plus:

  1. Redémarrez les PC
  2. Désactivez le pare-feu ( sudo ufw disable) sur le PC serveur, puis revérifiez (peut-être même besoin d'un autre redémarrage).

Au cas où vous l'auriez manqué, je vais énumérer la procédure entière ci-dessous (ce qui était pénible à assembler). Vous serez d'accord avec cela si vous suivez étape par étape (promesse!).


Bureau à distance entre le guide pas à pas de n'importe quel système d'exploitation

Je . Windows vers / depuis Windows:

Utiliser le logiciel Windows Remote Desktop

II . Linux / Unix vers / depuis n'importe où

Effectuez d'abord les opérations suivantes sur l'ordinateur serveur auquel vous vous connecterez via le bureau à distance:

- 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 à Linux depuis un terminal avec prise en charge graphique

- 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 pour mieux) Windows vers Linux avec prise en charge complète de l'interface graphique. C'est ce que la plupart d'entre vous voudront.

- 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 vers / depuis * nix

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

IV . Sécurisation de la connexion (étape facultative - s'applique à toute configuration)

Les protocoles VNC et xrdp ne sont pas sécurisés, ce qui signifie qu'ils ne sont pas chiffrés.

Pour sécuriser la connexion, modifiez le fichier /etc/xrdp/xrdp.ini pour que l'adresse devienne 127.0.0.1. Ce sera l'adresse localhost du serveur ssh. Le cryptage SSH sera utilisé en dessous pour tunneler le trafic vnc.

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

Si ce qui précède ne fonctionne pas:

  1. Vous devrez peut-être redémarrer les deux ordinateurs,
  2. Désactivez le pare-feu ( sudo ufw disable) sur le PC serveur, puis revérifiez (peut-être même besoin d'un autre redémarrage).
  3. Si ci-dessus ne fonctionne pas, vous avez gâché votre système en installant des packages en conflit. Vous devez effectuer un dépannage manuel à ce sujet (il est très peu probable que vous atteigniez cette étape si vous suivez correctement les instructions).

Sources et crédit:


Si vous utilisez Ubuntu 18.04.2 ou Ubuntu 18.04.3, l'installation de xorgxrdp-hwe-18.04 peut résoudre votre problème (il a résolu le mien). Voir cet article de blog: c-nergy.be/blog/?p=13972
jhin

4

Je ne connais pas particulièrement xrdp, mais la première chose que je vérifierais est de voir si le port qu'il utilise est a) à l'écoute des connexions et b) ouvert sur le monde extérieur. Le port par défaut pour RDP est 3389 .

Le premier est assez facile à vérifier; exécutez simplement ceci dans le terminal sur la machine à laquelle vous essayez de vous connecter (changez 3389 si xrdp écoute sur un port différent):

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

Si vous obtenez quelque chose de similaire au suivant, quelque chose au moins (avec un peu de chance xrdp) écoute les connexions:

tcp        0      0 127.0.1.1:3389            0.0.0.0:*               LISTEN

Si vous n'obtenez aucune sortie, essayez de (re) démarrer xrdp ou vérifiez que vous avez le bon port.

Ensuite, vous devez vous assurer que la machine est accessible à Internet sur ce port, ce qui implique deux choses: vous assurer que le pare-feu sur la machine elle-même ne bloque pas les connexions à ce port, et vous assurer que tout périphérique réseau ( un routeur, par exemple) entre l'ordinateur auquel vous essayez de vous connecter et Internet ne bloque pas les connexions. PortForward.com peut vous aider avec ce dernier; le premier dépend du type de pare-feu installé sur votre machine, le cas échéant.

J'espère que cela t'aides!


1
Ci-dessous la sortie de netstat .. Je vais vérifier la deuxième partie et je vous laisse le savoir .. tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
user1667630

OK, bon, cela signifie que xrdp écoute les connexions. Vous avez dit que vous ne pouvez accéder à la machine virtuelle que sur le port 22, ce qui explique pourquoi le client RDP ne peut pas se connecter. Quel logiciel de machine virtuelle utilisez-vous?
stevenmirabito

Je suis désolé .. pouvez-vous s'il vous plaît dire ce que vous entendez par "logiciel de machine virtuelle" ... Dans l'ubuntu, je viens d'installer xrdp ..
user1667630

Vous avez dit dans votre OP: sous I have a virtual machine (ubuntu) to which i need to do remote desktop.quel logiciel la machine virtuelle fonctionne-t-elle (VirtualBox, VMware, Virtuozzo, Xen, OpenVZ, etc.)? S'agit-il d'une machine sur votre ordinateur local ou s'agit-il d'un VPS hébergé quelque part?
stevenmirabito

désolé .. ouais .. c'est un VPS hébergé quelque part !! Fondamentalement, il utilise la solution d'Apache Software Foundation .. Virtual Computing Lab !!
user1667630

2

J'ai finalement réussi à faire travailler cela pour moi; configuration: ancien ordinateur portable exécutant ubuntu 13.10 exécutant l'unité standard; J'ai installé le dock du Caire (ce qui le rend beaucoup plus utilisable pour moi); toujours pas habitué à la barre d'application de gauche;

Ce serait bien de pouvoir utiliser mon système win7 pour rdp dans cet ubuntu 13.10 donc j'ai passé quelques heures ce matin à faire des recherches. Voici ce que j'ai fait:

sudo apt-get update
sudo apt-get install xrdp

ou vous pouvez utiliser Ubuntu Software Center pour installer.

L'installation semble aller bien et il semble que le service xrdp a été démarré correctement.

Depuis ma boîte win7, j'ai ouvert une fenêtre rdp et utilisé l'adresse IP de l'ordinateur portable pour entrer; une fenêtre s'est ouverte mais juste un écran standard de fenêtres x11 (motif de hachures croisées avec curseur x); aucun lien, icône ou menu à utiliser.

Plus de recherches sur Google. J'ai installé le gnome-session-fallback:

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

Cela n'a pas fonctionné; J'ai le même écran vide, mais j'ai trouvé une autre URL qui suggère un autre gestionnaire de session Windows comme XFCE, j'ai donc installé le bureau xubuntu:

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

N'oubliez pas sudo /etc/init.d/xrdp restartaprès tous les changements.

Cela a fonctionné. Au début, lors du démarrage initial de la session rdp, j'ai eu le même écran vide, mais après 10 secondes (probablement parce que j'utilise un VDI win7 au travail à distance), un bureau xfce xubuntu utilisable est apparu; pas aussi sympa que gnome mais très utilisable.

J'espère que ces informations seront utiles, car je n'ai pas pu obtenir les premières tentatives de travailler pour moi.

Dave


1

Bienvenue dans la communauté Ubuntu.

Tout d'abord, vérifiez les paramètres réseau de la machine virtuelle Windows dans la boîte virtuelle. Choisissez Bridge Connection dans les paramètres réseau.Vérifiez que RDP est autorisé à passer par le pare-feu du client Windows.


Salut .. je suis capable de faire ssh. Pouvez-vous me dire comment vérifier si RDP est autorisé à passer par le pare
user1667630

Ya, ouvrez les paramètres du pare-feu dans le client Windows, vous obtiendrez la liste des programmes et services autorisés à passer, trouver RDP, cliquez sur modifier, activer et appliquer.
Ketan Patel

C'était déjà activé !! Je l'ai vérifié .. Existe-t-il un autre moyen d'obtenir l'interface utilisateur de l'ubuntu. Un autre problème est que seul le port 22 est activé dans l'ubuntu.
user1667630

Désactiver le pare-feu Ubuntu à l'aide du service de commande iptables stop
Ketan Patel

1
sudo ufw disable 

puis essayez de vous connecter en utilisant votre logiciel client rdp ... Je suis en train de configurer ceci pour 12.04 linux vps, jusqu'à présent je me suis connecté mais je ne vois pas de bureau uniquement une fenêtre de commande.

Salut, vous avez dit que vous étiez connecté et que tout ce que vous voyez est une fenêtre de terminal, je ne sais pas quelle est votre configuration complète mais ici, à moi j'espère que cela aide.

Assurez - vous que votre vncserver est en cours d' exécution par la vncserver :1 prochaine nanodans ~/.vnc/xstartupce qui vous amène à un bac !! fichier bla bla, où vous voyez la dernière ligne ( & -x-window-manager), ajoutez & /etc/X11/Xsession &

Maintenant, allez dans ce fichier, /etc/xrdp/startwm.shet assurez-vous d'y être, votre dernière ligne est

. /etc/X11/Xsession

après cela, redémarrez le vncserver en procédant ainsi.

vncserver -kill :1 

puis redémarrez

vncserver :1

Au fait, j'ai dû installer plus que juste le Xrdp et j'ai fait quelques commandes supplémentaires pour un repli si Xrdp échouait, tout semble bien à la minute pour moi, essayez-le et faites savoir ce qui cuisine ou non. Bonne chance. Ps .. sa grande tache de rousseur quand il fonctionne, restez avec lui.


0

Si seul le port 22 est autorisé à traverser le pare-feu et que vous manquez de contrôle sur votre chemin réseau, vous souhaiterez peut-être utiliser la tunnellisation ssh pour tunneler le port de votre choix sur le boîtier distant vers votre système local.

Si vous faites cela à partir d'une boîte Linux / Unix, regardez l'indicateur -L pour ssh:

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

où le premier 3390 est le numéro de port local et le second 3389 est le numéro de port distant; vous devez ensuite RDC à 127.0.0.1:3390 pour vous connecter. Notez que le tunnel est lié à la session ssh - si vous fermez cette session ssh, le tunnel se fermera également et votre connexion au bureau distant tombera. Assurez-vous d'utiliser un port inutilisé pour le côté local.

Si vous vous connectez à partir d'un système Windows, utilisez putty et activez les options de tunneling ssh pour votre session (regardez connection-> SSH-> Tunnels dans les options de configuration de session.)

Une fois le tunnel établi, vous pouvez utiliser votre client RDP choisi pour vous connecter. Plusieurs des autres réponses concernent cette partie de la configuration (personnellement, je me suis retrouvé à la suite de la suggestion de la session xfce4.)


0

Exécutez les commandes dans le 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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.