Подключение к MacOS по протоколу удалённого доступа RDP

В данной статье будет рассказано как подключиться к операционной системе Mac по протоколу RDP. Как вы все наверняка знаете, операционная система Mac имеет встроенный VNC сервер, к которому можно подключаться через VNC клиента. Но я подумал, почему-бы не использовать стандартный RDP client в Microsoft Windows для подключения к операционной системе Mac? Немного погуглив, я обнаружил, что есть бесплатный RDP сервер на Mac и называется он xRDP. Данный сервер легко устанавливается на ОС Linux/Unix. Об установке и настройке этого сервера я и хотел рассказать.
Установку я производил на свой Macbook с ОС Mac Big Sur. Для начала нам необходимо установить инструменты командной строки Xcode. Для этого выполняем команду в ПО терминала
xcode-select --install
Далее установим менеджер сторонних пакетов Homebrew командой
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Установим библиотеку OpenSSL командой
brew install openssl
После установки OpenSSL, присвоим переменной CPPFLAGS путь к библиотеке, чтобы компилятор смог данную библиотеку найти. Выполним команду
export CPPFLAGS="-I/usr/local/opt/openssl/include"
Установим необходимые пакеты командами
brew install automake
brew install libtool
brew install pkgconfig
brew install nasm
Установим XQuartz – программное средство системы X Window System.Необходимо установить версию 2.7.11. Скачать программу можно с официального сайта https://www.xquartz.org/
После установки необходимо перезайти в систему.
Для удобства работы откроем терминал и создадим отдельную папку как на рисунке 1 ниже:
mkdir /Users/administrator/Documents/xrdp/
Рисунок 1

                                                                                           Рис. 1


Теперь включим встроенный VNC сервер. Для этого перейдём в «Системные настройки» как на рисунке 2

                                                                  Рис.2


Далее выбираем "общий доступ" как на рисунке 3

                                                                        Рис.3


Включите функцию “Общий экран” и перейдите в настройки компьютера как на рисунке 4

                                                          Рис. 4

Включите опцию “любой пользователь может запросить разрешение управлять экраном” и задайте пароль в пункте “Пользователи VNC могут получить управление экраном по паролю” как на рисунке 5

                                                          Рис. 5

Теперь загрузим необходимые пакеты


Нам требуются xRDP и xOrgRDP в формате исходного кода.
Загрузить их можно с сайта http://xrdp.org/. Загрузим сначала xrdp.Переходим на сайт и нажимаем “View xrdp releases" как на рисунке 6

                                                                                                 Рис. 6

Находим “xrdp” версии 0.9.11 и нажимаем “кнопку” выделенную красным прямоугольником на рисунке 7

                                                                                     Рис. 7

Далее нажимаем “кнопку” выделенную красным прямоугольником на рисунке 8

                                                                                                              Рис. 8

Далее необходимо нажать “кнопку” “Code” и скопировать ссылку “кнопкой” выделенной красным квадратиком на рисунке 9

                                                                                                                 Рис. 9

Склонируем репозиторий на Mac внутри созданной нами папки “xrdp” выше с помощью “git” командой как на рисунке 10 ниже:
git clone https://github.com/neutrinolabs/xrdp.git    

                                                                            Рис. 10

Теперь загрузим пакет xorgrdp.Переходим на главную страницу сайта и нажимаем “кнопку” “View xorgrdp releases” как на рисунке 11

                                                                           Рис. 11

 

Находим версию 0.2.11 и нажимаем кнопку выделенную красным прямоугольником на рисунке 12

                                                                                               Рис. 12

Далее нажимаем “кнопку” выделенную красным прямоугольником на рисунке 13

                                                                                                                                    Рис. 13

 

Далее необходимо нажать “кнопку” “CODE” и скопировать ссылку как показано на рисунке 14 ниже

                                                                                                                           Рис. 14

Склонируем репозиторий xorgxrdp как показано на рисунке 15 на Mac OS внутри созданной нами папки “xrdp” выше с помощью “git” командой:
git clone https://github.com/neutrinolabs/xorgxrdp.git

                                                                                          Рис. 15

Сборка xRDP

Перейдём в каталог с “xrdp" репозиторием командой:
cd /Users/administrator/Documents/xrdp/xrdp

Запустим Bootstrapper
./bootstrap
сконфигурируем сборку с помощью OpenSSL
./configure PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig
Запустим make
make
Затем запустим make установщик
sudo make install

Если вы получаете ошибку на этом шаге, то скорей всего это связано с неправильным экспортом OpenSSL CPPFLAGS.

Сборка xOrgRDP

Перейдём в каталог с "xorgrdp" репозиторием командой:

cd /Users/administrator/Documents/xrdp/xorgrdp
Для сборки нам также понадобится репозиторий xrdp.Скопируем репозиторий xrdp в репозиторий xorgrdp командой:


cp –R /Users/administrator/Documents/xrdp/xrdp /Users/administrator/Documents/xrdp/xorgrdp

Запустим Bootstrapper и сконфигурируем сборку так, чтоб она происходила при помощи OpenSSL. Затем запустим make установщик:
./bootstrap
./configure PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig
make
sudo make install


Если вы столкнулись с ошибкой, убедитесь, что вы перезапустили сессию после установки сервера xQuartz X11. Если вы получаете ошибку /opt/X11/include/xorg/dixfontstr.h:30:10:fatal error ‘X11/fonts/libxfont2.h’ file not found, необходимо поправить файл dixfontstr.h , а именно, прописать #include “/opt/X11/fonts/libxfont2.h” вместо #include “/X11/fonts/libxfont2.h”

Наш xRDP сервер почти готов. Теперь необходимо настроить его. Давайте откроем наш файл xrdp.ini.
sudo vi /etc/xrdp/xrdp.ini
Найдём секцию в файле со всеми типами сессий
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20

[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
#xserverbpp=24
#delay_ms=2000

[vnc-any]
name=vnc-any
lib=libvnc.so
ip=ask
port=ask5900
username=na
password=ask
#pamusername=asksame
#pampassword=asksame
#pamsessionmng=127.0.0.1
#delay_ms=2000

[neutrinordp-any]
name=neutrinordp-any
lib=libxrdpneutrinordp.so
ip=ask
port=ask3389
username=ask
password=ask
Я буду подключаться через модуль Xvnc. Используем библиотеку libvnc.dylib вместо libvnc.so. Я закомментирую все модули, которые не буду использовать. Вот так будет выглядеть изменённая секция с типами сессий в файле xrdp.ini
#[Xorg]
#name=Xorg
#lib=libxup.so
#username=ask
#password=ask
#ip=127.0.0.1
#port=-1
#code=20

[Xvnc]
name=Xvnc
lib=libvnc.dylib
username=ask
password=ask
ip=127.0.0.1
port=5900
xserverbpp=24
#delay_ms=2000

#[vnc-any]
#name=RDP to VNC Connector
#lib=libvnc.so
#ip=127.0.0.1
#port=5900
#username=ask
#password=ask
#xserverbpp=24
#pamusername=asksame
#pampassword=asksame
#pamsessionmng=127.0.0.1
#delay_ms=2000

#[neutrinordp-any]
#name=neutrinordp-any
#lib=libxrdpneutrinordp.so
#ip=ask
#port=ask3389
#username=ask
#password=ask
Примечание: В редакторе vi нажмите клавишу «i», чтобы войти в режим редактирования. Чтобы сохранить и выйти, нажмите «ESC» и введите :wq!.
Теперь запустим демоны xRDP и xRDP-sesman. Они находятся по пути /usr/local/sbin/.
Выполним следующие команды
sudo /usr/local/sbin/xrdp
sudo /usr/local/sbin/xrdp-sesman

Нстройка со стороны операционной системы закончена

 

Теперь необходимо настроить вашь edge

Для RDP доступа в настройках EDGE Вам необходимо прописать правила firewell и nat.

1. В настройках firewall должны быть правила разрешающие сетевой трафик.

2. В настройках NAT.

2.1. Создаем правило DNAT:

- в original IP, прописываете IP Edge. Есть выбор через "Select";

- в графе Original port, прописываете номер по которому разрешаете подключение;

- в графе Protocol выбираем TCP;

- в графе Translated IP, прописываете IP виртуальной машины к которой необходим RDP доступ.

- в графе Translated Port: 3389

- в графе Source IP/Source port: any/any

После настроек нажимаете Keep и сохраняете настройки NAT'а.

Пробуем подключиться по RDP.Подключаться надо под учётной записью администратора.Вводим пароль Администратора, нажимаем ENTER

В следующем появившемся окне также вводим пароль Администратора и нажимаем ENTER
Если у вас появилось окно авторизации Mac OS, значит, всё работает правильно.

Если у вас возникают какие-либо ошибки, смотрите логи. Они находятся по пути:
/var/logs/xrdp.log
/var/logs/xrdp-sesman.log
Вот таким способом можно предоставить доступ на Mac OS по протоколу RDP.

Вы уже работаете с сервисами Cloud4Y?

Перейти на вебсайт

Попробовать бесплатно

  • 2 Users Found This Useful
Was this answer helpful?

Related Articles

Installing Android Studio on MAC OS and then running Android Device Emulator in it

This guide describes how to install Android Studio on MAC OS and how to run the Android Device...

Connecting to MAC OS using the VNC remote access protocol

In this article, we will describe how to connect to MAC OS using the VNC remote access protocol....