Подключение к удаленному рабочему столу Linux из Windows. Как подключиться к Windows из Linux? Linux удаленное подключение

Если по какой-либо причине тебе потребовалось получить доступ к удаленной машине с Ubuntu именно через RDP, то не отчаивайся — все возможно! Для этого существует инструмент под названием xrdp. В данной инструкции я расскажу, как можно подключиться к Ubuntu через RDP из Windows.

Установка необходимых пакетов

Нам потребуется установить в систему два пакета — xrdp и xorgxrdp, но второй итак находится в зависимостях первого, поэтому достаточно выполнить одну команду:

Sudo apt install xrdp

Настройка xrdp

Для корректной работы необходимо, чтобы был открыт TCP порт 3389 — убедись, что твой брандмауэр не блокирует данный порт.
Также, если в системе не установлено ни одно окружение рабочего стола — то стоит его установить, например Xfce, сделать это можно командой:

Sudo apt install xfce4

Также в домашнем каталоге пользователя, от имени которого будет происходить вход в систему должен быть расположен файл .xsession в котором указана команда запуска оболочки, в нашем примере это startxfce4 (для запуска xfce). После создания этого файла выполни команду sudo systemctl restart xrdp для обновления конфигурации xrdp (если он уже был запущен).

Запуск xrdp

Для запуска сервиса следует выполнить команду:

Sudo systemctl start xrdp

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

Sudo systemctl enable xrdp

Соответственно остановка и отключение автозапуска сервиса:

Sudo systemctl stop xrdp sudo systemctl disable xrdp

Подключение из Windows

Открываем меню подключения к удаленному рабочему столу. Универсальный способ сделать это — через «Выполнить» — нажимаем Win+R и в открывшемся окне набираем mstsc:

В открывшемся окне указываем машины с Ubuntu и жмем «Подключить»:

В появившемся приглашении указываем данные учетной записи в Ubuntu от имени которой будет происходить подключение:

И, после нажатия «Ok», попадаем в систему:

В данном примере была использована Ubuntu 18.04 и Windows 10.

Xrdp — это инструмент с открытым исходным кодом, который позволяет пользователям получать доступ к удаленному рабочему столу Linux через Windows RDP.

Помимо Windows RDP, инструмент xrdp также принимает соединения от других клиентов RDP, таких как FreeRDP, rdesktop и NeutrinoRDP

Требования Xrdp

  • пакеты xrdp и xorgxrdp
  • Слушает 3389 / tcp. Убедитесь, что ваш брандмауэр принимает соединения

В этой статье я покажу, как вы можете удаленно подключиться к Ubuntu Desktop с компьютера Windows с помощью инструмента Xrdp.

1) Установка на Linux

на Ubuntu 18.04

Во-первых, вам нужно установить Xrdp на Ubuntu

# apt install xrdp Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: xorgxrdp Suggested packages: guacamole xrdp-pulseaudio-installer The following NEW packages will be installed: xorgxrdp xrdp 0 upgraded, 2 newly installed, 0 to remove and 256 not upgraded. Need to get 498 kB of archives. After this operation, 3,303 kB of additional disk space will be used. Do you want to continue? y

Вы должны настроить правило polkit, чтобы избежать всплывающего окна аутентификации после ввода имени пользователя и пароля на экране входа xrdp в windows

# vim /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf polkit.addRule(function(action, subject) { if ((action.id == “org.freedesktop.color-manager.create-device” || action.id == “org.freedesktop.color-manager.create-profile” || action.id == “org.freedesktop.color-manager.delete-device” || action.id == “org.freedesktop.color-manager.delete-profile” || action.id == “org.freedesktop.color-manager.modify-device” || action.id == “org.freedesktop.color-manager.modify-profile”) && subject.isInGroup(“{group}”)) { return polkit.Result.YES; } });

перезапустите службу xrdp

# systemctl restart xrdp

Затем убедитесь, что служба запущена

# systemctl status xrdp ● xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: en Active: active (running) since Tue 2018-10-16 02:05:21 WAT; 11min ago Docs: man:xrdp(8) man:xrdp.ini(5) Main PID: 2654 (xrdp) Tasks: 1 (limit: 2290) CGroup: /system.slice/xrdp.service └─2654 /usr/sbin/xrdp

Теперь убедитесь, что вы автоматически запускаете службу при запуске системы.

# systemctl enable xrdp Synchronizing state of xrdp.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable xrdp

Теперь вам нужно будет проверить свой IP-адрес, потому что вам понадобится его для подключения

# ip add 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:ef:f6:9b brd ff:ff:ff:ff:ff:ff inet 172.16.8.177/24 brd 172.16.8.255 scope global dynamic noprefixroute ens33

Мой IP-адрес — 172.16.8.177. Так что держите это в своем уме.

Xrdp работает с портом 3389, поэтому обязательно откройте его.

UFW по умолчанию отключен, поэтому вам нужно включить брандмауэр и создать правило для xrdp

# ufw enable # ufw allow 3389/tcp

Теперь вы можете продолжить настройку со стороны windows.

На Centos / Redhat 7

Обязательно установите репозитории Epel прежде всего

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Теперь установите пакеты xrdp

# yum update && yum -y install xrdp tigervnc-server

Добавьте правило в брандмауэр. На Centos / RedHat ufw не работает, а работает firewalld

# firewall-cmd --permanent --zone=public --add-port=3389/tcp

Затем перезагрузите брандмауэр

# firewall-cmd --reload

Теперь включите и перезапустите службу xrdp

# systemctl enable xrdp && systemctl restart xrdp

Проверьте свой IP-адрес для удаленного подключения в Windows

2) Подключение из Windows

На вашем компьютере windows, таком как windows 10 в нашем случае, запустите средство подключения к удаленному рабочему столу по умолчанию.

Вам нужно будет ввести IP-адрес вашего устройства, и вам будет предложено ввести имя пользователя

Доступ к удаленному рабочему столу Ubuntu / CentOS

Введите IP-адрес и имя пользователя

Теперь подтвердите информацию и запустите соединение.

Если вы не вышли из системы локально, удаленный вход в систему завершится с ошибкой.

Теперь вас попросят ввести пароль

Теперь подтвердите свои учетные данные. Вы можете увидеть IP-адрес моего Ubuntu в верхней части и страницу входа. Введите свой пароль и наслаждайтесь

Удаленное подключение к рабочему столу Linux из Windows с помощью Xming и SSH

В отличие от Windows, в Linux графическая оболочка не является частью ядра системы. Стандартная оконная система для Linux – это X Window System, или, попросту говоря, иксы. Она берет на себя отрисовку графических элементов и взаимодействие с устройствами ввода-вывода. А самое вкусное заключается в том, что эта система имеет прозрачную клиент-серверную архитектуру. Оконная система выполняет роль сервера, а графические приложения – роль клиентов. Как и положено клиентам, они подключаются к серверу и взаимодействуют с ним для отрисовки и для получения событий мыши и клавиатуры.

Но это еще не все! Дело в том, что оконная система может находиться на другом компьютере, а графическое приложение связываться с ней через сеть. Так вы можете запустить приложение на удаленном компьютере, заставив его рисоваться на том компьютере, за которым сейчас работаете. Или наоборот. Или запустить программу на одном удаленном компьютере с отрисовкой интерфейса на другом удаленном компьютере.

1.SSH-клиент. Я установил PuTTY.

2.X Server для Windows. Я выбрал Xming.

Для начала установим соединение по SSH с удаленным компьютером. Для этого запускаем PuTTY. Вводим IP-адрес компьютера Linux

Теперь переходим в раздел Connection / SSH / X11 и включаем перенаправление графического интерфейса. В качестве расположения X-сервера водим IP-адрес компьютера Windows, за которым сейчас сидим (это будет скорее всего 127.0.0.1)

Кроме того, чтобы вместо русских букв не всплыли крокозябли, желательно в разделе Window / Translation установит правильную кодировку (у меня – UTF8 – стандартная кодировка на Debian и Ubuntu). Возвращаемся в раздел Session, сохраняем настройки и подключаемся к компьютеру Linux. В случае успешного подключения мы вводим логин и пароль и видим текстовую консоль. С ее помощью мы можем удаленно запустить консольные программы, но графические программы не могут рисоваться в консоли. Поэтому оставим на время наше подключение по SSH.

Теперь настроим Xming. Для этого запускаем программу XLaunch – это мастер настроек. На первом шаге указываем способ интеграции в графическое окружение Windows. Мне более всего по душе первый, когда каждое приложение Linux находится в своем окне.

На втором шаге нам предлагается автоматически запускать какое-нибудь приложение вместе с иксами. Я предпочел сделать это позже по мере необходимости посредством уже запущенного нами PuTTY.

На третьем шаге указываем параметры запуска Xming. Опция Clipboard позволяет интегрировать буфер обмена. Также для полноценной работы я ввел следующие параметры:

«-dpi 96? – чтобы поправить размер шрифтов. Значение можно подбирать по вкусу.

«-xkblayout us,ru» – для работы с двумя раскладками клавиатуры.

«-xkbvariant basic,winkeys» – уточнение раскладок.

«-xkboptions grp:caps_toggle» – переключение раскладки клавишей CAPS LOCK.

И, наконец, на следующем шаге сохраняем настройки кнопкой «Save configuration» и запускаем X-сервер кнопкой «Готово».

В системном лотке появится иконка Xming.

Итак, X-сервер запущен. Возвращаемся в нашу консоль, предоставленную соединением SSH. Здесь мы можем удаленно запустить консольное приложение, и в этой же консоли увидим вывод этого приложения. А что теперь будет, если мы попытаемся запустить в этой консоли графическое приложение? Обычно, если вы подключились по SSH и пытаетесь запустить оконное приложение, вы получите ошибку, потому что вы подключились к удаленному компьютеру в консольном режиме, и рисовать окна просто нечем. Однако, в этот раз мы включили перенаправление графики на наш компьютер Windows, на котором уже запущен свой X-сервер. Поэтому, если вы попытаетесь запустить оконное приложение в удаленном консольном терминале, его окно нарисуется на компьютере Windows. Попробуйте, например, набрать следующую команду:

$ gedit &

Амперсанд в конце команды указывает, что программу нужно запустить в фоновом режиме, чтобы во время ее работы консоль была доступна для других действий.

При попытке доступа по VNC к удалённому рабочему столу Linux Mint 19 пришлось столкнуться с тем, что, по сравнению с предыдущими версиями (17, 18), по умолчанию такой возможности не предоставляется. При дальнейших действиях по организации возможности подключения по VNC к узлу под управлением Linux Mint 19 необходимость приложить ряд дополнительных усилий стала напоминать эпизод из фильма:

– Тебя как, сразу прикончить или желаешь помучиться?
– Лучше, конечно, помучиться.
(из к/ф "Белое солнце пустыни")

Началось всё с того, что в настройках (далее имеется в виду графическое окружение XFCE) раздела "Сеансы и запуск" и вкладке "Автозапуск" никакого упоминания о подключении к удалённому рабочему столу не имеется, хотя в предыдущей Linux Mint 18 пункт включения был расположен между обновлением папок пользователя и сетью.



За реализацию сервера VNC в Linux Mint отвечает пакет vino, который в Linux Mint 19 по умолчанию не устанавливается. Данный пакет необходимо установить и, в принципе, его можно легко найти через Synaptic.



Однако этого будет недостаточно. Как показало изучение вопроса, разработчики vino удалили из своего продукта утилиту графической настройки, поэтому настройку vino необходимо будет произвести через конфигуратор dconf-editor.

Выполните в терминале команду, которая установит необходимые компоненты и запустит dconf-editor

Sudo apt install -y vino dconf-editor && sudo dconf-editor

При запуске dconf-editor будет показано предупреждение, что вносимые изменения осуществляются вами на свой страх и риск и для продолжения необходимо нажать на кнопку "I"ll be careful" (я буду осторожен). Для выключения этого показа при последующих запусках dconf-editor снимите галочку в поле "Show this dialog next time".


После запуска графического конфигуратора системы путём последовательного перемещения "gnome – desktop" перейдите в секцию "remote-access"




Если планируется подключаться по клиенту VNC из Windows, то, как пишут, желательно выключить шифрование (двигать движок в соответствующей строке).




Несмотря на то, что это, как говорится, не есть "гуд", но в локальной сети, которой доверяете, данное действие допустимо.

Аналогичным образом поступите с prompt-enabled, иначе на другом компьютере придётся каждый раз "одобрять" удалённое к нему подключение.


В целях какой-никакой защиты установите пароль на подключение, выключив настройку по умолчанию и введя придуманный Вами пароль, например:




Чтобы закрепить данное изменение нажмите на кнопку зелёного цвета.


Закройте конфигуратор и перейдите к настройкам автозапуска. Добавьте в список автоматически запускаемых при старте системы программ ПО vino

/usr/lib/vino/vino-server



Рисунок относится к оболочке XFCE. В Cinnamon и MATE используйте существующие в них настройки автозапуска программ.

Перезагрузите систему.

На компьютере, с которого будете подключаться, создайте соответствующее соединение. На рисунке ниже подключение будет осуществляться с узла Linux, поэтому оно добавляется в программе Remmina.


Обратите внимание, что имя пользователя вводить не надо, вводится только пароль, который был задан при настройке vino через графический конфигуратор dconf-editor.

На рисунке указан узел H-4.vot, что соответствует полному доменному имени узла. В этом случае подразумевается, что DNS сервер Вашей локальной сети умеет сопоставлять выданные DHCP адреса IP именам узлов сети. MikroTik, например, умеет это делать через . Если сервера DNS не имеется или он не умеет этого делать, то назначьте узлу, к которому будете удалённо подключаться, статический адрес (или настройте сервер DHCP на выдачу ему одного и того же адреса) и подключайтесь по IP.

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


При этом на панели (как правило, внизу) будет отображаться значок (при теме оформления Mint-Y – голубого цвета), отображающий факт удалённого подключения к рабочему столу.


Быстрота реагирования удалённого компьютера на Ваши команды зависит от его аппаратных возможностей, степени загруженности системы, а также количества передаваемых данных по VNC. При рассмотрении вопроса об "отзывчивости" удалённой системы во многих публикациях пишут о проигрыше VNC перед RDP, но ничего лучшего для удалённого подключения к Linux с GUI лично мне встретить не удалось. С целью повышения скорости реагирования конечной системы можно попробовать "поиграться" с настройками качества отображения экрана целевого компьютера в параметрах соединения (см. окно настроек подключения Remmina):


Альтернативное решение – x11vnc ().

» и вскоре после этого меня попросили рассказать, как сделать то же самое, но наоборот - из Windows к Linux. На первый взгляд может показаться, что задача непростая, но на самом деле, это очень легко.

У читателей может возникнуть вопрос - а зачем это вообще нужно? Ответ прост - для того, чтобы иметь единую точку администрирования. Ведь сколько времени обычно тратится на беготню между компьютерами в попытке разрешить какую-либо проблему! Вы уже знаете, как подключаться к компьютерам под управлением Windows из Linux, а прочитав эту статью, сможете подключаться наоборот - из Windows к Linux, и это значительно облегчит вам задачу администрирования в локальной сети. Итак, приступим.

Допущения

В своей статье я исхожу из того, что в вашей локальной сети уже имеются корректно функционирующие компьютеры под управлением . Чтобы упростить задачу, я буду по схеме 192.168.1.x. При этом намного удобнее использовать статические IP-адреса, иначе вам придется тратить лишнее время на выяснение адреса нужного компьютера.

Программное обеспечение

Вам понадобятся всего два приложения:

На компьютере под управлением Linux для использования в качестве VNC-сервера;
на компьютере под управлением Windows для использования в качестве VNC-клиента.

Установить TightVNC очень легко - просто загрузите инсталлятор и запустите его двойным щелчком. А вот процесс установки приложений в Linux для многих пользователей Windows не так очевиден.

Разумеется, все зависит от того, какой у вас дистрибутив Linux. Но в общих чертах последовательность действий такова:

1. Запустите средство установки и удаления программ - Synaptic, Центр приложений Ubuntu (Ubuntu Software Center), gnome-packagekit и т. п.
2. Введите «x11vnc» (без кавычек) в строке поиска.
3. Отметьте пакеты для установки.
4. Нажмите кнопку «Применить» (Apply), чтобы начать установку.

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

1. Откройте терминал.
2. Выполните команду вида sudo apt-get install x11vnc - в зависимости от того, какой у вас дистрибутив.

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

На компьютере под управлением Linux

Здесь все довольно просто - нужно лишь запустить сервер x11vnc. В справке к данной утилите, которую можно вызвать командой man x11vnc , приводится список доступных опций. Я бы порекомендовал использовать опцию -forever - без нее сервер будет отключаться сразу же после завершения клиентского сеанса. Так что команда, которую следует выполнить в терминале, должна выглядеть так:

X11vnc -forever

Приглашение на ввод следующей команды после этого не появится, даже если использовать символ &. Поэтому стоит добавить строку x11vnc -forever в конце файла «/etc/rc.local », чтобы сервер запускался всякий раз при старте системы.

На компьютере под управлением Windows

Теперь давайте наладим подключение. Запустите установленную в Windows утилиту TightVNC из меню «Пуск» (Start). Появится показанное на рис. A окно, в котором нужно указать адрес для подключения. Отсюда же можно вызвать диалоговое окно настроек (Options).

Рисунок A. Выберите профиль соединения (Connection Profile), наиболее соответствующий вашему типу соединения.

В окне настроек (рис. B) доступен целый ряд параметров, но если вы не нуждаетесь в какой-то особой конфигурации, можно оставить значения по умолчанию.


Рисунок B. TightVNC можно подключить в режиме просмотра (View) - тогда сеанс будет не интерактивным. Это неплохой вариант для тестового подключения.

Настроив все параметры, нажмите кнопку «Соединиться» (Connect), чтобы подключиться к удаленному рабочему столу (рис. C). Скорость соединения зависит от пропускной способности сети, но в целом TightVNC представляет собой вполне работоспособное решение.