Что такое RDP и как подключиться к серверу

Сергей Почекутов

RDP — это протокол для подключения к удаленному рабочему столу. Для его настройки не требуются специальные знания. Если вы пользуетесь Windows, то у вас уже есть все необходимые инструменты, чтобы установить соединение с удаленной машиной. В этой статье вы узнаете, как настроить подключение, на каких портах работает сервис (rdp ports) и какие есть особенности у протокола RDP.

Содержание:

Что такое RDP?
Режим подключений
Принцип работы
Безопасность
Как подключиться к серверу по RDP с ОС Windows
Как подключиться к серверу по RDP с macОS
Как подключиться к серверу по RDP с ОС Ubuntu
Как подключиться к серверу по RDP с Debian
Как подключиться к серверу по RDP со смартфона
Итоги

Что такое RDP

Remote Desktop Protocol — протокол удаленного рабочего стола от Microsoft. С его помощью вы можете установить соединение с удаленным компьютером и управлять его операционной системой, используя графический интерфейс.

На Windows протокол доступен «из коробки». Клиент RDP называется «Подключение к удаленному рабочему столу» или Remote Desktop Connection. Исполняемый файл клиента называется mstsc.exe

RDP можно использовать не только на Windows. Для macOS, Android и iOS есть официальное приложение, на Ubuntu и Debian можно установить сторонние клиенты.

Режим подключений

Есть два режима, в которых применяется протокол:

  • Администрирование.
  • Подключение к серверу приложений.

В режиме администрирования RDP есть во всех версиях Windows. На серверных версиях  доступны два подключения и один локальный вход, на клиентских версиях — один вход.

Для подключения к серверу протокол можно использовать только в серверных версиях Windows. На количество подключений лимита нет. Но для работы нужен активированный сервер лицензий.

Принцип работы

RDPl основан на протоколе TCP. Порядок его работы в общих чертах выглядит так:

  1. Устанавливается соединение на транспортном узле.
  2. Происходит инициализация сессии, определяется порядок передачи данных.
  3. Сервер начинает передавать клиенту графический вывод. В ответ он ожидает, что пользователь введет входные данные.

Приоритетный способ — передача вывода графическими примитивами: прямоугольниками, линиями, текстами, эллипсами и так далее. Это позволяет экономить трафик. Если договориться о параметрах передачи примитивов не удалось, то клиенту передается изображение графического экрана.

RDP-клиент обрабатывает команды от сервера терминалов и использует собственную графическую подсистему для для вывода изображения. Пользовательский ввод передается благодаря скан-кодам. Сигналы нажатий и отпусканий кнопок передаются отдельно с помощью специального флага.

Remote Desktop Protocol поддерживает несколько виртуальных каналов внутри одной сессии. Это дает доступ к дополнительным возможностям для управления. Можно использовать принтер или порты, перенаправлять файловую систему, работать с единым буфером, использовать подсистему аудио для передачи звука.

Безопасность RDP

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

Основные уязвимости:

  • Слабые учетные данные пользователей. Например, часто встречаются одинаковые пароли для локальной работы и удаленного подключения, использование пустых паролей.
  • Открытый порт 3389, который используется для подключения по умолчанию.

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

Шифрование

  1. Нажмите сочетание Win+R и запустите файл gpedit.msc.
  2. Перейдите по пути «Конфигурация компьютера» — «Административные шаблоны» — «Компоненты Windows» — «Службы удаленных рабочих столов» — «Узел сеансов удаленных рабочих столов» — «Безопасность».
  3. Включите параметр «Требовать использования специального уровня безопасности для удаленных подключений по методу RDP».
  4. Выберите уровень «SSL».

Эта настройка просто включает шифрование. Теперь нужно выбрать, какой алгоритм будет применяться.

  1. Откройте параметр «Установить уровень шифрования для клиентских подключений».
  2. Выберите уровень шифрований «Высокий уровень».

Теперь соединение будет защищено 128-битным шифрованием. Если этого мало, можно использовать стандарт FIPS 140-1.

  1. Перейдите по пути «Конфигурация компьютера» — «Конфигурация Windows» — «Параметры безопасности» — «Локальные политики» — «Параметры безопасности».
  2. Включите параметр «Системная криптография: использовать FIPS-совместимые алгоритмы для шифрования, хэширования и подписывания».

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

  1. Перейдите по пути «Конфигурация компьютера» — «Административные шаблоны» — «Компоненты Windows» — «Службы удаленных рабочих столов» — «Безопасность».
  2. Включите параметр «Требовать безопасное RPC-подключение».

Смена порта

По умолчанию в RDP ports установлен порт 3389. Оставлять его небезопасно. Изменить порт можно через редактор реестра.

  1. Нажмите Win+R и выполните команду regedit.
  2. Откройте ветку HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp.
  3. Найдите PortNumber.
  4. Нажмите «Редактировать» — «Изменить».
  5. Выберите пункт «Десятичное».
  6. Укажите другой порт и нажмите «ОК» для сохранения.
  7. Закройте редактор реестра и перезагрузите систему.

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

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

Изменение имени администратора

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

Чтобы переименовать учетную запись:

  1. Нажмите сочетание Win+X и выберите пункт «Управление компьютером».
  2. Раскройте разделы «Служебные программы» — «Локальные пользователи» — «Пользователи».
  3. Выберите в списке пользователя «Администратор».
  4. Кликните правой кнопкой и выберите «Переименовать».
  5. Укажите любое другое имя.

Используйте для удаленного подключения имя учетной записи, которую вы переименовали.

Блокировка подключений учетных записей с пустыми паролями

Для усиления безопасности можно также запретить подключаться учетным записям с пустым паролем. 

  1. Нажмите сочетание Win+R и выполните secpol.msc.
  2. Перейдите по пути «Локальные политики» –- «Параметры безопасности».
  3. Включите параметр «Учетные записи: разрешить использование пустых паролей только при консольном входе».

Аутентификация на уровне сети

По умолчанию можно подключаться через RDP без ввода логина и пароля. Пользователь видит экран удаленного десктопа, где ему предлагают залогиниться. Это тоже небезопасно, так как открывает возможности для DDoS-атак. Исправим недостаток:

  1. Нажмите Win+R и запустите файл gpedit.msc.
  2. Перейдите по пути «Конфигурация компьютера» — «Административные шаблоны» — «Компоненты Windows» — «Службы удаленных рабочих столов» — «Безопасность».
  3. Включите параметр «Требовать проверку подлинности пользователя для удаленных подключений путем проверки подлинности на уровне сети».

Теперь никто не будет видеть экран удаленного рабочего стола, пока не введет логин и пароль.

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

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

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

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

На всех версиях Windows доступны для использования клиент и сервер RDP. Для запуска клиента дополнительная настройка не требуется. На сервере протокол может быть отключен, а доступ к порту ограничен или заблокирован.

Запуск протокола на сервере

Через окно «Выполнить»:

  1. Используйте сочетание клавиш Win+R и выполните SystemPropertiesRemote.
  2. Во вкладке «Удаленный доступ» отметьте опцию «Разрешить удаленные подключения».

Можно указать конкретных пользователей, которым доступ разрешен. Чтобы сделать это, нажмите «Выбрать пользователей». Пользователи, которые входят в группу «Администраторы», могут подключаться по умолчанию. Вы можете добавить других пользователей. Укажите их имена и нажмите на кнопку «Проверить имена». После успешной проверки нажмите «ОК» для добавления указанных пользователей.

Через графический интерфейс (на примере Windows 10):

  1. Откройте «Параметры».
  2. Перейдите в раздел «Система».
  3. Откройте вкладку «Удаленный рабочий стол» и переведите ползунок в положение «Вкл.».
  4. Подтвердите действие.

После включения удаленного рабочего стола появятся дополнительные настройки. Вы можете оставлять компьютер в режиме бодрствования для подключения, когда он подключен к электросети. Также можно сделать так, чтобы компьютер был доступен для обнаружения в частных сетях.

Ссылка «Дополнительные параметры» ведет к настройкам безопасности, про которые мы говорили выше. Здесь можно включить аутентификацию на уровне сети и посмотреть, какой порт используется для подключения.

Настройка клиента RDP на Windows

Чтобы запустить встроенное приложение, нажмите клавиши Win+R и выполните команду mstsc. Также можно использовать системный поиск. Программа называется «Подключение к удаленному рабочему столу» или Remote Desktop Connection.

В запущенном окне пропишите IP-адрес сервера с настроенным RDP. Если у хоста настроено несколько IP-адресов, используйте для соединения любой. Чтобы установить связь, нажмите «Подключить». Укажите имя учетной записи и пароль пользователя.

При попытке установить соединение может появиться уведомление о недоверенном сертификате. Поставьте галочку возле опции «Больше не выводить…» и нажмите на кнопку «Да». После успешного подключения на экране появится окно, внутри которого будет удаленный рабочий стол.

Клиент mstsc также имеет дополнительные параметры. С их помощью можно, например, использовать общие принтер, диски, буфер обмена. Это удобно для обмена информацией. Допустим, вы можете копировать фрагмент текста на удаленном компьютере, а затем вставлять его в документ на локальной машине. Эти настройки выставляются до подключения на вкладке «Локальные ресурсы».

На других вкладках тоже есть полезные параметры. На пример, в разделе «Экран» вы можете настроить размер удаленного рабочего стола. Если нужен полноэкранный режиме, передвиньте ползунок в крайнюю правую позицию.

Здесь также можно включить использование всех мониторов для удаленного сеанса, указать глубину цвета и включить/выключить отображение панели управления в полноэкранном режиме. С ее помощью можно:

  • Проверять качество соединения.
  • Сворачивать удаленный рабочий стол без разрыва соединения — как любое другое приложение.
  • Менять размер экрана удаленного компьютера (полноэкранный режим, режим окна).
  • Разрывать соединение с удаленным компьютером.

Этих возможностей достаточно для базового управления подключением. 

Во вкладке «Взаимодействие» доступны настройки для оптимизации соединения. По умолчанию качество соединения определяется автоматически. Но вы можете его повысить или понизить и гибко настроить используемые функции вроде фона рабочего стола и сглаживания шрифтов. Для оптимизации работы также можно включить постоянное кэширование точечных рисунков и автоматическое восстановление подключения при разрыве.

Во вкладке «Дополнительно» скрываются настройки безопасности. Здесь можно включить/выключить предупреждение о том, что подлинность удаленного сервера не удается подтвердить. Можно подключаться без предупреждения или не соединять при обнаружении проблем.

Подключение через графический интерфейс

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

Опция Результат
“файл подключения” Имя RDP-файла, нужно для установки соединения
/v:<сервер[:порт]> Адрес удаленной машины, к которой подключаемся
/g:<шлюз> Сервер шлюза удаленных десктопов. Опция используется только в том случае, если удаленный компьютер конечной точки указан с использованием /v.
/admin Подключение к сеансу администрирования.
/f Запуск в полноэкранном режиме.
/w:<ширина> Установка ширины экрана удаленного рабочего стола.
/h:<высота> Установка высоты экрана удаленного рабочего стола.
/public Запуск удаленного десктопа в публичном режиме.
/span Сравнивает ширину и высоту удаленного десктопа с параметрами локального виртуального рабочего стола. При необходимости развертывает изображения на несколько мониторов, если они размещены так, что образуют прямоугольник.
/multimon Располагает элементы на рабочем столе так, чтобы они соответствовали текущей конфигурации на стороне клиента.
/edit Открывает RDP-файл для изменения.
/restrictedAdmin Подключает в режиме ограниченного администрирования*.
/remoteGuard Подключает с помощью Remote Guard**.
/prompt Запрос данных пользователя при подключении к удаленной машине.
/shadow:<ИД_ceaнca> Определение сеанса, которому требуется теневое управление.
/control Управление сеансом при теневом управлении.
/noConsentPrompt Теневое управление, не требуется согласие пользователя.

* Ограниченное администрирование — в этом режиме учетные данные не отправляются на удаленную машину. Благодаря этому повышается безопасность даже при подключение к компьютеру, который был скомпрометирован.В то же время такие подключения могут не проходить проверку подлинности со стороны других компьютеров, что может влиять на функциональность.

** Remote Guard — инструмент предотвращает отправку учетных данных на удаленный компьютер. В отличие от ограниченного администрирования, здесь поддерживается соединение с удаленного компьютера (все запросы перенаправляются обратно на устройство).

Подключение на macОS

Для macOS Microsoft выпустила официальный клиент для подключения к серверу по RDP. Он называется Microsoft Remote Desktop и доступен для скачивания в App Store.

Подключение настраивается так же просто, как на Windows.

  1. Запустите программу и нажмите на кнопку New для создания нового подключения.
  2. Укажите произвольное название в поле Connection name.
  3. В поле PC name введите IP-адрес сервера.
  4. Впишите имя пользователя и пароль для подключения.

После завершения настройки новое подключение сохранится в списке. Чтобы запустить его, кликните дважды левой кнопкой. После запуска появится уведомление о недоверенном сертификате. Это не страшно. Нажмите на кнопку «Показать сертификат» и отметьте опцию «Всегда доверять … при подключении к …». 

После принятия самоподписанного сертификата вы увидите в отдельном окне рабочий стол удаленного компьютера.

Подключение на Ubuntu

В отличие от Windows и macOS на Ubuntu нет официального клиента для подключения к серверу по RDP. Однако это не проблема. Зато разработаны неофициальные приложения. Многие хостеры в своих базах знаний советуют использовать для подключения программу Remmina.

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

Установите пакет Remmina:

sudo apt-add-repository ppa:remmina-ppa-team/remmina-next

Установите обновления:

sudo apt-get update

Установите плагин:

sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard

Если ранее вы устанавливали и запускали Remmina, нужно перезапустить программу. Для этого убейте процесс:

sudo killall remmina

Если эта команда вернет ошибку с сообщением о том, что ничего похожего в списке запущенных процессов нет, то это тоже хорошие новости — значит можно запускать программу.

  1. Найдите Remmina в списке инсталлированных приложений.
  2. Чтобы добавить соединение, нажмите на значок плюса.
  3. В поле Name впишите название соединения. Оно может быть любым.
  4. В поле Protocol выберите RDP.
  5. Ниже на вкладке Basic укажите IP-адрес сервера, имя пользователя и пароль.
  6. Чтобы параметры сохранились, нажмите Save.

Все соединения сохраняются в одном списке. Выберите нужное подключение. При первой попытке установить соединение появится сообщение о недоверенном сертификате. Чтобы использовать его, нажмите «ОК». После успешного соединения вы увидите рабочий стол удаленного компьютера.

Альтернативные клиенты на Ubuntu

Если приложение Remmina работает нестабильно, попробуйте другие клиенты для подключения по RDP:

  • Freerdp — бесплатная реализация RDP.
  • Rdesktop — клиент с открытым исходным кодом.

Чтобы установить freerdp, запустите терминал и выполните команду

sudo apt install freerdp2-x11 freerdp2-shadow-x11

Для подключения к удаленному компьютеру используйте команду

xfreerdp /f /u:ИМЯ-ПОЛЬЗОВАТЕЛЯ /p:ПАРОЛЬ /v:ХОСТ[:ПОРТ]

Здесь /f — это указание на то, что удаленный рабочий стол нужно открыть в полноэкранном режиме. Если хотите открыть его в оконном режиме, просто не указывайте эту опцию. Остальные опции понятные: имя и пароль учетной записи, IP-адрес и порт компьютера, к которому вы подключаетесь. При этом порт указывать необязательно. Посмотреть другие опции можно с помощью команды help.

Например, если вы хотите подключить общие папки, используйте опцию /drive:<ИМЯ>,<ПУТЬ> или +drives. В первом случае вы подключаете конкретную директорию, а во втором включаете перенаправление всех точек монтирования как совместных папок.

При первом подключении в терминале появится предупреждение о недоверенном сертификате. Чтобы принять его, введите на клавиатуре Y и нажмите на Enter.

Клиент rdesktop устанавливается командой:

sudo apt install rdesktop

Для подключения к удаленному рабочему столу используйте команду 

rdesktop -u ПОЛЬЗОВАТЕЛЬ -p ПАРОЛЬ ХОСТ

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

Для работы с rdesktop на сервере должны быть настроена аутентификация на уровне сети. Иначе при подключении будет вылетать ошибка. О настройках аутентификации на уровне сети мы говорили в разделе «Безопасность».

Подключение на Debian

На Debian для соединения с сервером через RDP тоже можно взять приложение Remmina. Чтобы его установить:

  1. Запустите менеджер инсталляции пакетов.
  2. В поисковой строке введите «Remmina».
  3. Выделите все результаты для инсталляции и нажмите «Применить изменения».
  4. Запустите программу после установки.
  5. Нажмите «Создать», чтобы указать данные нового подключения.
  6. Укажите имя соединения. Оно может быть любым.
  7. В поле «Сервер» пропишите IP-адрес удаленного хоста.
  8. Укажите юзернейм и пароль.
  9. Вы можете настроить дополнительные параметры подключения. Например, выбрать источник звука и настройки безопасности.
  10. Нажмите Save, чтобы сохранить соединение.

Все сохраненные подключения хранятся в одном списке. Найдите нужное и нажмите на него для старта. На экране появится предупреждение о недоверенном сертификате. Щелкните «Ок» или «Принять». После удачного соединения вы попадете на рабочий стол удаленного хоста.

На Debian тоже можно использовать клиенты freerdp и rdesktop вместо Remmina. Устанавливаются они теми же командами, что и на Ubuntu. Процесс настройки соединений также не отличается.

Подключение со смартфона

Для соединения с удаленными хостами по RDP Microsoft выпустила приложения для двух основных мобильных ОС:

  • Удаленный рабочий стол на iOS
  • Remote Desktop 8 на Android

Подключение в этих приложениях настраиваются по одному принципу. Сначала вам нужно добавить новое соединение:

  1. Нажмите на значок плюса и выберите пункт Desktop.
  2. В поле PC name пропишите адрес хоста, к которому нужно подсоединиться.
  3. Нажмите на строку User name и добавьте аккаунт, выбрав опцию Add user account.
  4. Укажите учетные данные для подключения: имя и пароль.

При первой попытке соединения также появится предупреждение о недоверенном сертификате. Выделите пункт Never ask again и нажмите Connect, чтобы сформировать самоподписной сертификат.

Итоги

RDP — удобный инструмент для создания удаленного подключения. Он позволяет быстро и гибко настроить соединение в локальной сети или через интернет. Невзирая на то, что протокол разработан корпорацией Microsoft, использовать его можно и на других платформах: macOS, Ubuntu, Debian, Android, iOS.

Чтобы еще раз повторить, как настраивается подключение в среде Windows, посмотрите это видео. Оно на английском, но каждый шаг очень наглядно продемонстрирован: 

А из этого видео вы узнаете, как настроить RDP на мобильном устройстве и управлять с него компьютером: 

 

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024