Connect linux desktop from windows

Xrdp — Connect Ubuntu Linux Remote Desktop via RDP from Windows

How often do you access Linux Desktop? What tools do you use to access remote desktop?

Xrdp is an open source tool which allows users to access the Linux remote desktop via Windows RDP. Apart from Windows RDP, xrdp tool also accepts connections from other RDP clients like FreeRDP, rdesktop and NeutrinoRDP. Xrdp is now supporting TLS security layer.

Xrdp Requirement

  • xrdp and xorgxrdp packages
  • Listens on 3389/tcp. Make sure your firewall accepts connections

In this article, I will show how you can remotely connect to Ubuntu Desktop from a Windows machine using Xrdp tool.

1) Installation on Linux

on Ubuntu 18.04

First, you need to install Xrdp on Ubuntu

You have to configure the polkit rule to avoid an authenticate popup after inputting the username and password at the xrdp login screen on windows

restart the xrdp service

Then make sure that the service is running

Now make sure to automatically start the service at the system startup

Now you will need to check your ip address because you will need it for the connection

My ip address is 172.16.8.177 . So keeps yours it in your mind.

Xrdp works with port 3389 so make sure to open it. UFW is disabled by default so you will need to enable the firewall and create a rule for xrdp

Now you can continue the configuration on windows side

On Centos/Redhat 7

Make sure to install the Epel repositories before

Now install xrdp packages

Add a rule in the firewall. On Centos/RedHat is not ufw but firewalld to configure

Then reload the firewall

Now enable and restart the xrdp service

Check your ip address for the remote connection on Windows

2) Connect from Windows

On your windows machine such as windows 10 in our case, launch the default remote desktop connection tool.

You will need to enter the ip address of your machine and you will be asked to enter the username

Access Remote desktop of Ubuntu/CentOS

Enter the ip address and the username

Now confirm the information and launch the connection. If you are not logged out in local, the remote login would fail.

Now you will be asked for your password

Now confirm your credentials. You can see the IP address of my Ubuntu on the top and the login page. Enter your password and enjoy

Are you aware of any other tools? Please advise us on the comments

Источник

Connect to Linux Desktop from Windows

In previous post Create SSH Secure Communication Channel with Putty I wrote about how to secure communication between Linux and Windows machine with SSH. Now in this post I am going to show you how to control Linux (Ubuntu, Debian or any other distribution) Desktop from Windows over secure connection in a very simple and elegant way using just open source software. We are going to use VNC. VNC stands for Virtual Network Computing and it is a Graphical Desktop Sharing System that uses the Remote Frame Buffer Protocol (RFB) to remotely control another computer. It transfers the keyboard and mouse events from one computer to another and returns the graphical screen updates back to the client computer over a network. More about VNC you can read in a Wikipedia article. VNC is platform independent technology. There are clients and servers for different Operating Systems even including Java servers and clients. Multiple VNC clients may connect to a VNC server at the same time.

Читайте также:  Как убрать автоблокировку windows 10

First let’s install VNC server. Obviously you need some Linux computer running a desktop software such as GNOME, KDE, XFC or any other. There are couple of VNC servers available for Linux, but we are going to use x11vnc. To install it just type:

Next step is to obtain software for Windows. As discussed in previous post you need PuTTY. We are going to use PuTTY to secure communication between server (Linux) and client (Windows). So download putty.exe from this link and place it in some directory. It does not need installation.

Next piece of software that we need is VNC client. There are couple of VNC clients. Most of them are commercial but free for non-commercial use. We are going to use TightVNC which is dual licensed. It has GNU GPL2 and commercial license. Also they have Java version. But in our case we are going to use native Windows binary. So go to download page and get 64 or 32 bit MSI installer package. During installation process select Custom Setup and install only VNC Client.

Next step is to run and connect to Linux via PuTTY. Follow those steps to perform secure connection to Linux.
1. Start PuTTY.
2. Go to Connection -> SSH -> Tunnels.
3. In field Source port enter 5900.
4. In field Destination enter localhost:5900.
5. Click Add button.

At the end should look something like that:

Then navigate to PuTTY main window and enter IP or host to which you want to connect and hit Open button.

Login to Linux computer by using your name and password. Then type the following commands. Note that -auth output from first command is passed as parameter to the second one. You need to find the authentication file of your login manager. In this example I am using SLiM which stands for Simple Login Manager and it is really slim and light. But if you are using GDM or KDM then authentication file will be different. So see what is output after -auth and copy & paste it in the command that runs x11vnc.

For more info look into screenshot:

Finally you should see something like this:

Final step is to run TightVNC Viewer and to connect. When you start TightVNC just enter localhost in the field Remote Host and hit the Connect button.

If everything went normal you should see login screen of your Linux machine. Just type your user name and password to establish remote desktop session.

I have followed your steps, but still it’s not working with me, showing me “access denied”
what is the problem, hope i get the solution.

Worked great, thanks. I put the command in a bash script for quick access.

Awesome, thank you! For the record, i am running Centos 6.4 (x86_64) as server and WinXP as vnc client. On the client i used TightVNC as viewer

Great post thank you. My issue is that I can connect but it shows me a grey screen, any idea? Thanks again

Источник

Методы удаленного доступа к Linux GUI

В службу технической поддержки RUVDS регулярно обращаются по поводу GUI и удаленного доступа к нему на виртуальных серверах с Linux, несмотря на то что в интернете достаточно много материалов освещающих эту проблему. Поэтому, для наших пользователей мы решили собрать всё по этой теме в одну статью.

Введение

На всякий случай возможно стоит упомянуть, что SSH — основной способ предоставления доступа к линуксовым виртуалкам на RUVDS. Большая часть действий описываемых в этой статье будет осуществляться именно таким образом.

Для подключения необходимо найти SSH-клиент для вашей операционной системы.

  1. OpenSSH; если Вы пользуетесь Linux, например Ubuntu, скорее всего всё уже установлено, до нас, так что можно смело писать в терминале: ssh root@[IP].
  2. PuTTY есть и для Linux, в том числе в официальных репозиториях Debian и Ubuntu.
Читайте также:  Quickbinder для windows 10

MAC OS:

Установка GUI

Итак, перейдем к установке GUI. Сначала нужно поставить графическую подсистему:
Для Debian/Ubuntu:

Далее следует установка Desktop Environment (DE). Их существует великое множество. Мы рекомендуем ставить на сервер более легковесные среды, а еще лучше, не ставить вовсе. Первые две DE достаточно компактные, функциональные и «привычные».

1. Xfce
Для Debian/Ubuntu:

Можно поставить дополнительно:

Добавление русской раскладки:

Сочетание клавиш можно менять на свое усмотрение, например:

Чтобы эта команда запускалась каждый раз при запуске LXDE, нужно добавить в конец файла с помощью вашего любимого vi строку: @setxkbmap -option grp:switch,grp:ctrl_shift_toggle,grp_led:scroll us,ru. Или вот так…

Следующие две DE являются чрезвычайно легкими. Если уж GUI нужен на сервере, вероятно, стоит использовать именно их.

3. FluxBox
Для Debian/Ubuntu:

4. Openbox
Для Debian/Ubuntu:

Далее следуют наиболее популярные на десктопах графические оболочки.

5. Gnome
Для Ubuntu/Debian:

Замечание: с настройкой VNC-сервера под Gnome что-то пошло не так… Сервера из репозиториев tightvncserver и vnc4server так и не согласились сотрудничать, поэтому пришлось собрать пару deb-пакетов руками. Если у Вас не получится настроить сервер, то мы можем порекомендовать скачать собранный нами архив с tigervnc-server’ом и поставить его. Для этого:

7. Cinnamon
Для Debian/Ubuntu:

Если Вы хотите получать доступ к GUI через «Аварийный режим», то необходимо сделать следующее:

Мало того, необходимо обеспечить запуск графической оболочки при старте системы. Для этого можно установить какой-нибудь экранный менеджер (Display Manager, DM), например:

Или в случае с CentOS:

Если необходимости в доступе из личного кабинета нет, то следует выполнить:

Заметка: Ubuntu предлагает своим пользователям несколько метапакетов для более удобной установки нужной DE:

Далее, есть много способов получить удаленный доступ к GUI.

Удаленный доступ

На виртуальном сервере, в зависимости от OS нужно произвести следующие действия.

Далее, если вы используете Windows, подключаемся через встроенный RDP-клиент, Remote Desktop Connection (Подключение к удаленному рабочему столу).

Стандартный порт 3389. Для Linux есть масса клиентов которые можно установить из репозиториев: freerdp и remmina, gnome-rdp, vinagre и т.п.

Также можно пробросить RDP-шный трафик через SSH-туннель. Для этого нужно поправить конфигурационный файл xrdp:

В секцию [globals] нужно добавить строку: address=127.0.0.1

Проверить, что всё правильно, можно так:

Затем если вы используете cygwin или mingw, linux или mac os:

Запустите PuTTY. В древовидном меню слева Connection → SSH → Tunnels. Далее добавляем новый Forwarded Port (Source port: 3389, Destination: localhost:3389). Нажимаем Add.

Далее следуете в секцию Session. Вводите IP вашего сервера в поле Host Name (or IP address). Нажимаете кнопку Open, вводите пароль для подключения по SSH.

Далее для Windows:

  1. Можно использовать вышеупомянутый клиент: remmina
  2. Если в браузере хотите: novnc — HTML5 VNC client
  3. И ещё куча всяких разных: directvnc, gnome-rdp, krdc, xtightvncviewer, vinagre, xvnc4viewer

Для MAC OS:

OS X предоставляет для этого встроенное приложение Screen Sharing. Можно также использовать Safari

Сервер: На Вашей виртуальной машине установите VNC сервер:

Если на Вашей системе работает файрвол необходимо открыть соответствующие порты. Пример для CentOS

При возникновении проблем с отображением иконок и шрифтов при использовании xfce4 по Ubuntu/Debian:

Если вы хотите, чтобы VNC-сервер стартовал автоматически, создайте файл:

Со следующим содержимым:

Теперь можно подключиться, например, через UltraVNC. Для этого нужно запустить UltraVNC Viewer, в поле VNC Server записать [IP]::5901 (по-умолчанию: 5901, 5902 и т.п. для первого дисплея, второго и т.д. соответственно) и нажать на кнопку подключиться.

Также можно пустить vnc-шный трафик через ssh-туннель. Для этого отредактируйте:

Затем если вы используете cygwin или mingw, linux или mac os:

Если PuTTY:
Запустите PuTTY. В древовидном меню слева Connection → SSH → Tunnels. Далее добавляем новый Forwarded Port (Source port: 5901, Destination: localhost:5901). Нажимаем Add.

Далее следуете в секцию Session. Вводите IP вашего сервера в поле Host Name (or IP address). Нажимаете кнопку Open, вводите пароль для подключения по SSH.

Затем открываете UltraVNC Viewer и в поле VNC Server вводите: localhost::5901 после чего подключаетесь.

Читайте также:  Telephone ��� mac os

Также можете попробовать другие VNC-сервера:

x11vnc — фактически VNC-сервер (как vnc4server или tightvnc), но позволяет получать доступ к уже существующей X-сессии. Т.е. если Вы настроили графическую оболочку таким образом, что она запускается при старте системы, то можно использовать следующий вариант:

После подключения по VNC (на порт 5900) Вы должны увидеть тоже что и в «Аварийном режиме».

Для старта x11vnc при запуске OS необходимо проделать следующее:

Теперь немного поинтереснее. Одна замечательная компания NoMachine разработала отличный протокол NX на замену VNC. Клиенты для подключения по этому протоколу бесплатны, а официальное серверное ПО от NoMachine стоит много денег. В свое время, эта же компания поддерживала проект FreeNX работы на котором со временем затихли; текущая версия 0.7.2 от 2008-08-22. Но, к счастью, нашлись люди создавшие форк и назвавшие его x2go. К сожалению, x2go не совместим ни с NX от NoMachine, ни с freeNX. Так что клиент берем тут.

Установка сервера на Debian (источник):

Для примера поставим эту DE:

Далее следуем инструкциям с оффициального сайта:

Вывод следующей команды должен показать, что x2go готов к работе:

А теперь важный момент, подключиться без этого фикса не получится! Нужно найти в файле .profile строку «mesg n» и заменить её на «tty -s && mesg n».

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

Установка сервера на Ubuntu:

А теперь важный момент, подключиться без этого фикса не получится! Нужно найти в файле .profile строку «mesg n || true» и заменить её на «tty -s && mesg n».

Установка сервера на CentOS:

Клиент для линукс ставится из вышеприведенных репозиториев следующей командой:

Для Windows — скачиваем, ставим, запускаем. По той же ссылке, приведенной выше, есть клиент для OS X.

В настройках сессии указываем: в поле Host — IP вашего сервера, в поле Login — root, порт оставляем как есть, session type — тот GUI который ставили.

Как вы можете видеть, есть возможность аутентификации по ключу. В общем много всякого. Посмотрите сами. И звук можно через PulseAudio выводить.

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

Замечание: обратите внимание, что в списке нет Вашего любимого FluxBox’а поэтому путь к нему приходится прописывать руками.

Важной возможностью x2go является возможность запуска любого графического приложения вообще без установки DE. Для этого в настройках сессии нужно в секции session type нужно выбрать пункт single application и выбрать выполняемое приложение или ввести путь к программе которую следует запустить.

В этом случае установка ПО на сервер будет выглядеть следующим образом. В случае с Ubuntu:

А теперь важный момент, подключиться без этого фикса не получится! Нужно найти в файле .profile строку «mesg n || true» и заменить её на «tty -s && mesg n».

И настроив сессию как показано ниже, можно будет запустить браузер на удаленном сервере, а на вашей машине откроется окно его отображающее:

Или так; тогда просто откроется окно терминала:

Ниже вы можете видеть скриншот окна статуса текущей сессии. Оранжевыми цифрами отмечены кнопки:

  1. «Suspend session» — после нажатия на эту кнопку соединение будет разорвано, но сессия останется и будет ожидать повторного подключения. Все запущенные вами на сервере приложения продолжат свою работу;
  2. «Terminate session» — после нажатия подключение к серверу будет разорвано, а запущенные вами на сервере приложения будут завершены.

TeamViewer

Последний способ удаленного доступа к рабочему столу.

Установка на Ubuntu:

Установка на Debian:

Установка на CentOS:

Также необходимо принять лицензионное соглашение TeamViewer’а, это можно сделать с помощью «Аварийного режима», либо добавить следующие строки в конец файла /opt/teamviewer/config/global.conf:

Следующая команда покажет состояние демона TeamViewer’а и необходимый для подключения девятизначный TeamViewer ID:

После запуска клиента скачанного тут, нужно ввести TeamViewer ID в поле Partner UD и нажать на кнопку «Connect to partner». Далее TeamViewer запросит пароль: [PASSWD].

Источник

Оцените статью