Невозможно сделать удаленный рабочий стол, используя xrdp

13

У меня есть виртуальная машина Ubuntu, к которой мне нужно сделать удаленный рабочий стол. У меня нет физического доступа к этой машине, и я могу сделать только SSH к машине. Я хотел сделать удаленный рабочий стол и предложил множество вариантов (vnc, xrdp, opennx). Я использовал xrdp и установил необходимые пакеты на машине с Ubuntu (xrdp и зависимые). Затем я включил удаленный доступ в Ubuntu, используя следующую опцию командной строки.

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

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

Затем я перезапустил xrdp (/etc/init.d/xrdp start). Но когда я пытаюсь сделать rdp с помощью клиента Windows (mstsc), я получаю следующую ошибку. Удаленный доступ к серверу не включен.

Как мне это решить? Пожалуйста, помогите.

Радж

user1667630
источник

Ответы:

13

В файле /etc/xrdp/xrdp.ini добавьте адрес = 0.0.0.0, который является адресом xrdp по умолчанию.

Также вы должны разрешить брандмауэру прослушивать соединения через порт 3389, на котором работает xrdp. Для этого выполните:

sudo ufw allow 3389

Если это тоже не сработает:

  1. Перезагрузите ПК
  2. Отключите firewall ( sudo ufw disable) на серверном ПК, а затем перепроверьте (может потребоваться еще один перезапуск).

В случае, если вы пропустили это, я перечислю всю процедуру ниже (что было трудно собрать). Вы будете в порядке с этим, если вы будете следовать шаг за шагом (обещание!).


Удаленный рабочий стол между пошаговыми инструкциями любой ОС

Я . Windows в / из Windows:

Используйте программное обеспечение удаленного рабочего стола Windows

II . Linux / Unix в / из любого места

Сначала выполните следующие действия на сервере, который вы будете подключать через удаленный рабочий стол:

- 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 с терминала с поддержкой графики

- 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 . (б для лучшего) Windows для Linux с полной поддержкой графического интерфейса. Это то, что большинство из вас захочет.

- 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 в / из * nix

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

IV . Обеспечение безопасности соединения (необязательный шаг - относится к любой конфигурации)

Протоколы VNC и xrdp не защищены, что означает, что они не зашифрованы.

Чтобы сделать соединение безопасным, отредактируйте файл /etc/xrdp/xrdp.ini так, чтобы адрес стал 127.0.0.1. Это будет локальный адрес сервера ssh. Шифрование SSH будет использоваться для туннелирования трафика VNC.

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

Если вышеупомянутое не работает:

  1. Вам может потребоваться перезагрузить оба компьютера,
  2. Отключите firewall ( sudo ufw disable) на серверном ПК, а затем перепроверьте (может потребоваться еще один перезапуск).
  3. Если вышеперечисленное не работает, значит, вы испортили систему, установив конфликтующие пакеты. Вы должны выполнить поиск и устранение неисправностей вручную (очень маловероятно, что вы достигнете этого шага, если будете правильно следовать инструкциям).

Источники и кредит:

Nikos
источник
Если вы работаете с Ubuntu 18.04.2 или Ubuntu 18.04.3, установка xorgxrdp-hwe-18.04 может решить вашу проблему (она решила мою). Смотрите этот блог: c-nergy.be/blog/?p=13972
jhin
4

В частности, я не знаком с xrdp, но в первую очередь я проверю, является ли используемый им порт а) прослушиванием соединений и б) открытым для внешнего мира. Порт по умолчанию для RDP - 3389 .

Первое довольно легко проверить; просто запустите это в терминале на машине, к которой вы пытаетесь подключиться (измените 3389, если xrdp прослушивает другой порт):

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

Если вы получаете что-то похожее на следующее, что-то, по крайней мере (надеюсь, xrdp) прослушивает соединения:

tcp        0      0 127.0.1.1:3389            0.0.0.0:*               LISTEN

Если вы не получили никакого вывода, попробуйте (пере) запустить xrdp или убедитесь, что у вас правильный порт.

Затем необходимо убедиться, что компьютер доступен для Интернета через этот порт, что включает две вещи: убедитесь, что брандмауэр на самой машине не блокирует подключения к этому порту, и убедитесь, что любое сетевое устройство ( маршрутизатор) между компьютером, к которому вы пытаетесь подключиться, и Интернетом не блокирует соединения. PortForward.com может помочь с последним; первое зависит от того, какой брандмауэр установлен на вашем компьютере, если таковой имеется.

Надеюсь это поможет!

stevenmirabito
источник
1
Ниже приведен вывод netstat .. Я проверю вторую часть и позволю вам знать ... tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
user1667630
Хорошо, хорошо, это означает, что xrdp прослушивает соединения. Вы сказали, что вы можете получить доступ только к виртуальной машине через порт 22, поэтому RDP-клиент не может подключиться. Какое программное обеспечение виртуальной машины вы используете?
Stevenmirabito
Я извиняюсь .. не могли бы вы сказать, что вы подразумеваете под "программным обеспечением виртуальной машины" ... В Ubuntu я только что установил xrdp ..
user1667630
Вы сказали в своем ОП: «На I have a virtual machine (ubuntu) to which i need to do remote desktop.каком программном обеспечении работает виртуальная машина (VirtualBox, VMware, Virtuozzo, Xen, OpenVZ и т. Д.)? Это машина на вашем локальном компьютере или где-то VPS?
Stevenmirabito
извините .. да .. это VPS хостинг где-то !! В основном он использует решение Apache Software Foundation. Виртуальная вычислительная лаборатория !!
user1667630
2

Я наконец получил это, чтобы работать для меня; настройка: старый ноутбук под управлением Ubuntu 13.10, работающий в стандартном единстве; Я установил док в Каире (что делает его более удобным для меня); до сих пор не используется на левой панели приложения;

Было бы неплохо иметь возможность использовать мою систему win7 для rdp в эту Ubuntu 13.10, поэтому сегодня утром я потратил пару часов на исследование. Вот что я сделал:

sudo apt-get update
sudo apt-get install xrdp

или вы можете использовать Ubuntu Software Center для установки.

Установка прошла нормально и оказалось, что служба xrdp была запущена нормально.

Из окна win7 я открыл окно rdp и использовал IP-адрес ноутбука, чтобы войти; открылось окно, но только стандартный экран окон x11 (шаблон штриховки с курсором x); нет ссылок, значков или меню для использования.

Больше исследований Google. Я установил gnome-session-fallback:

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

Это не сработало; Я получил тот же пустой экран, но нашел другой URL-адрес, предлагающий другой mgr-сеанс Windows, такой как XFCE, поэтому я установил рабочий стол xubuntu:

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

Не забудьте sudo /etc/init.d/xrdp restartпосле всех изменений.

Это сработало. Сначала, при первом запуске сеанса rdp, я получил тот же пустой экран, но через 10 секунд (вероятно, потому, что я использую Win7 VDI на работе из удаленного места) появился рабочий стол xfce xubuntu; не так хорош, как гном, но очень полезен.

Надеюсь, эта информация будет полезна, так как я не смог получить первоначальные попытки работать на меня.

Дейв

user224176
источник
1

Добро пожаловать в сообщество Ubuntu.

Прежде всего, проверьте сетевые настройки Windows Virtual Machine в Virtual Box. Выберите Bridge Connection в настройках сети. Убедитесь, что RDP разрешено проходить через межсетевой экран Window Client.

Кетан Патель
источник
Привет .. я могу сделать SSH. Подскажите, пожалуйста, как проверить, разрешено ли RDP проходить через брандмауэр
user1667630
Да, откройте настройки брандмауэра в клиенте Windows, вы получите список программ и сервисов, которым разрешено проходить, найдите RDP, нажмите на редактировать, включите и примените.
Кетан Патель
Это было уже включено! Я проверил это .. Есть ли другой способ получить пользовательский интерфейс Ubuntu. Еще одна проблема - в ubuntu активирован только порт 22
user1667630
Отключите брандмауэр Ubuntu с помощью службы команд iptables stop
Ketan Patel
1
sudo ufw disable 

затем попробуйте войти в систему с помощью клиентского программного обеспечения rdp .. Я нахожусь в процессе настройки для 12,04 Linux Linux VPS, пока я подключился, но не вижу на рабочем столе только командное окно.

Привет, приятель, ты сказал, что подключился, и все, что ты видишь, это окно терминала, я не знаю, какова твоя полная настройка, но здесь, моя, я надеюсь, что это поможет.

Убедитесь , что ваш Vncserver запущен, vncserver :1 рядом nanoв ~/.vnc/xstartupэто приносит вам в бункер !! Файл Bla Bla, где вы видите последнюю строку ( & -x-window-manager), добавьте & /etc/X11/Xsession &

Теперь зайдите в этот файл /etc/xrdp/startwm.shи убедитесь, что ваша последняя строка

. /etc/X11/Xsession

после этого перезапустите vncserver, выполнив это.

vncserver -kill :1 

затем перезагрузите

vncserver :1

Кстати, мне пришлось установить больше, чем просто Xrdp, и я выполнил еще несколько команд для возврата к исходному состоянию, если Xrdp потерпел неудачу, мне кажется, что все хорошо в данный момент, убедитесь в этом и дайте знать, что готовит или нет. Удачи. Ps .. это здорово, когда он работает, оставайся с ним.

jamjam
источник
0

Если через брандмауэр разрешен только порт 22, и вы не можете контролировать свой сетевой путь, вы можете использовать туннелирование ssh для туннелирования выбранного вами порта на удаленном компьютере через локальную систему.

Если вы делаете это из окна Linux / Unix, посмотрите флаг -L для ssh:

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

где первый 3390 - номер локального порта, а второй 3389 - номер удаленного порта; Вы бы тогда RDC к 127.0.0.1:3390 для подключения. Обратите внимание, что туннель привязан к сеансу ssh - если вы закроете этот сеанс ssh, туннель также закроется, и ваше соединение с удаленным рабочим столом будет разорвано. Убедитесь, что вы используете неиспользуемый порт для локальной стороны.

При подключении из системы Windows используйте putty и включите параметры туннелирования ssh для своего сеанса (посмотрите соединения-> SSH-> Туннели в параметрах конфигурации сеанса.)

После установки туннеля вы можете использовать выбранный вами RDP-клиент для подключения. Несколько других ответов касаются этой части установки (лично я завелся после предложения xfce4-session.)

user292300
источник
0

Запустите команды в терминале:

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
Энтони Радди
источник