Подключение к 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.

  • 2 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

Подключение к MAC ОС по протоколу удалённого доступа VNC

В этой статье я расскажу вам как подключиться к операционной системе MAC OS по протоколу...

Установка Android studio на ОС MAC с последующим запуском в ней эмулятора устройства с ОС Android

В данной инструкции описан процесс установки Android Studio в операционную систему MAC OS.Также...