RDP over SSH. Как я писал клиент для удаленки под винду

Здравствуйте уважаемые читатели моего блога, в данной статье будет опубликован курс по настойке Windows Server 2012.

Что такое терминальный сервер?

Терминальный сервер (RDP) или сервер удаленных рабочих столов представляет собой мощный компьютер, который предназначен для подключения нескольких устройств. На нем установлена серверная операционная система и приложения, с которыми должен работать пользователь. Подключиться к такому компьютеру можно через другое устройство, которое называют клиентом.

Чтобы подключиться к серверу, пользователю необходимо зарегистрироваться и получить определенные права доступа. После этого все операции будут выполняться именно на терминале. Пользователь будет получать только результат работы на своем компьютере.

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

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

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

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

Повышаем данный сервер до контроллера домена.

Для этого ищем вкладку Уведомления, после нажатия на нее, вы попадаете в консоль, которая предлагает выполнить текущую операцию. Кликните по компоненту «Повысить роль этого сервера до уровня контроллера домена»

Повышаем данный сервер до контроллера домена.

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

В нашем случае необходимо «Добавить новый лес» и ввести «Имя корневого домена» После выполнения условий жмите «Далее»

Повышаем данный сервер до контроллера домена.

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

Повышаем данный сервер до контроллера домена.

В окне для ввода пароля придумываем пароль, который должен отвечать требованиям по сложности, так как политика паролей еще не отключена, информация по отключению опции доступна в рублике Server 2012. А пока введите пароль типа 387453-K (обязательно латинскими буквами, присутствие верхнего регистра и знаков типа: дефис) для дальнейшего развертывания жмем «Далее»

Повышаем данный сервер до контроллера домена.

В поле делегирования DNS, оставляем по дефолту и переходим к следующему пункту «Далее»

Повышаем данный сервер до контроллера домена.

Следующим этапом проверяем имя NetBIOS и изменяем его если это необходимо, имя не столь важно для операционных систем сколько для приложений, которые необходимы для сетевого взаимодействия и могут видеть только NetBIOS имя, данную настройку я оставлю по умолчанию, кликаем «Далее»

Повышаем данный сервер до контроллера домена.

Следующий этап позволяет указать размещение баз данных для файлов, логов и каталогов, для продолжения жмем «Далее»

Повышаем данный сервер до контроллера домена.

Проверяем корректность настроек, после чего переходим на следующий шаг нажав «Далее»

Повышаем данный сервер до контроллера домена.

И вы попадете в место где происходит проверка дополнительных требований, при успешной конфигурации кликаем «Установить»

Повышаем данный сервер до контроллера домена.

По требованию перезагружаем компьютер

Повышаем данный сервер до контроллера домена.

После перезагрузки входим в систему под учетной записью администратора домена

Повышаем данный сервер до контроллера домена.

Когда загрузится оснастка «Диспетчер серверов» мы увидим, что установлены AD DS и DNS. Кроме того, в инструментах появилось ряд новых компонентов, которые необходимы для администрирования

Повышаем данный сервер до контроллера домена.

В частности, оснастка «Пользователи и компьютеры Active Directory» С помощью которой можем увидеть пользователей и группы пользователей созданных по умолчанию

  • Tweet
  • Share
  • +1
  • VKontakte

Терминальный сервер на Windows 10

Данная статья представляет собой пошаговую инструкцию по настройке Windows 10 в качестве терминального сервера с доступом по RDP.

Читайте также:  Пропал Windows Firewall

После настройки, к одному компьютеру смогут одновременно подключаться несколько пользователей по RDP (Remote Desktop Protocol — протокол удалённого рабочего стола). Наиболее популярное применение данного решения — работа нескольких пользователей с файловой базой 1С.

Процесс настройки показан на примере Windows 10 Enterprise x64, однако данное руководство полностью подходит для установки на других ОС Windows.

Для настройки Windows 10 в качестве терминального сервера с доступом по RDP понадобятся:

1. Компьютер с установленной операционной системой Windows 10 и правами администратора, подключённый к локальной сети;

2. Компьютер в локальной сети, с которого будет производиться подключение и который имеет RDP клиент (прим. требуется ОС Windows XP/Vista/7/8/8.1/10 и т.д.);

3. Библиотека: RDP Wrapper Library.

Скачать RDP Wrapper Library c GitHub RDP Wrapper Library

I. Создание пользователя и настройка прав для доступа по RDP

1. Нажмите на значок поиска  , затем с помощью поисковой строки найдите и выберите Управление учетной записью (Рис.1).

Рис.1

2. В открывшемся окне выберите Семья и другие люди, затем нажмите Добавить пользователя для этого компьютера (Рис.2).

Рис.2

3. Нажмите на пункт У меня нет данных для входа этого человека (Рис.3).

Рис.3

4. Нажмите на пункт Добавить пользователя без учетной записи Майкрософт (Рис.4).

Рис.4

5. В соответствующих полях введите имя пользователя (прим. в данном примере это UserRDP), пароль для новой учётной записи и подсказку для пароля, затем нажмите Далее (Рис.5).

Рис.5

6. В окне параметров Вы увидите нового пользователя (прим. в данном примере это UserRDP) (Рис.6).

Рис.6

7. Нажмите на значок поиска  , затем с помощью поисковой строки найдите и выберите Этот компьютер, через правую кнопку мыши откройте меню и нажмите Управлять (Рис.7).

Рис.7

В открывшемся окне выберите: Служебные программы>Локальные пользователи и группы > Пользователи, затем выберите пользователя (прим. в данном примере это UserRDP), перейдите на вкладку Членство в группах и нажмите Добавить… (Рис.8).

Читайте также:  Антивирус для windows 10 — критерии выбора

Рис.8

9. Нажмите Дополнительно… (Рис.9).

Рис.9

10. Нажмите Поиск, выберите из списка Пользователи удаленного рабочего стола и нажмите OK ().

11. Нажмите OK ().

12. Нажмите Применить, затем OK ().

II. Настройка терминального сервера с доступом по RDP

1. Нажмите на значок поиска  , затем с помощью поисковой строки найдите и выберите Система ().

2. Нажмите Настройка удалённого доступа, в открывшемся окне перейдите на вкладку Удалённый доступ, выберите пункт Разрешить удалённые подключения к этому компьютеру, затем нажмите Применить и OK ().

3. Распакуйте (прим. с помощью WinRAR или просто открыть через Проводник) скачанную Вами ранее библиотеку RDP Wrapper Library. Откройте папку и запустите от имени администратора (прим. используя правую кнопку мыши) файл install,после чего начнётся установка ().

4. После окончания установки нажмите любую клавишу ().

5. Нажмите на значок поиска  , затем с помощью поисковой строки найдите и выберите Выполнить ().

6. В открывшемся окне введите и нажмите OK ().

7. Выберите: Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Службы удалённых рабочих столов > Узел сеансов удалённых рабочих столов > Подключения > Ограничить количество подключений ().

В открывшемся окне выберите пункт Включить, установите в параметрах разрешённое количество подключений к удалённым рабочим столам на 999999, затем нажмите Применить и OK. Перезагрузите компьютер ().

III. Подключение к удаленному рабочему столу

1. Используя второй компьютер, находящийся в той же локальной сети, нажмите Пуск, с помощью поисковой строки найдите, а затем выберите Подключение к удалённому рабочему столу ().

2. В открывшемся окне ведите имя компьютера к которому следует подключиться (прим. Тот, на котором производились все настройки), затем нажмите Подключить ().

3. Прежде всего, выберите пользователя (прим. в данном примере это UserRDP) и введите пароль от учётной записи, который Вы указывали ранее (прим. см. Рис.5), затем нажмите OK ().

4. В появившемся окне нажмите Да, после чего начнётся сеанс удаленного подключения ().

Настройка Windows 10 в качестве терминального сервера с доступом по RDP завершена!.

Похожее

Как разрешить обычном пользователям использовать теневое подключение

В рассмотренных выше примерах для использования теневого подключения к терминальным сессиям необходимы права локального администратора на RDS сервере. Однако можно разрешить использовать теневое (shadow) подключение для подключения к сессиям пользователей и простым пользователям (не давая им прав локального администратора на сервере).

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

Читайте также:  Виртуальная машина не видит жесткий диск

wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName=”RDP-Tcp”) CALL AddAccount “corp\AllowRDSShadow”,2

В январе 2018 года после установки обновления KB4056898 (патч Windows против Meltdown и Spectre) пользователи столкнулись, что в Windows Server 2012 R2 перестал работать теневой доступ. При попытке выполнить теневое подключение к чужой сессии появляется сообщение «Неопознанная ошибка» (в логах присутствует ошибка STATUS_BAD_IMPERSONATION_LEVEL). Аналогичная проблема возникала и на RDS ферме на базе Windows Server 2016.

Для решения проблемы нужно установить отдельные обновления:

  • для Windows Server 2016 — KB4057142 (от 17 января 2018)
  • для Windows Server 2012 R2 — KB4057401 (от 17 января 2018)

Готовим серверную часть

Прос­тые вещи вро­де нас­трой­ки RDP или SSH-сер­вера мы рас­смат­ривать не будем. Инс­трук­ций в интерне­те име­ется тьма, а у нас объ­ем огра­ничен, да и перег­ружать статью не хочет­ся. Так­же я не ста­ну под­робно рас­ска­зывать, как реали­зовать получе­ние дан­ных с Kerio Control: на стра­нице про­екта мож­но най­ти го­товый код.

Пер­вым делом нам нуж­но раз­решить RDP-под­клю­чения на кли­ент­ских машинах в локаль­ной сети. Если там реали­зова­но цен­тра­лизо­ван­ное управле­ние типа Active Directory, тебе повез­ло. Раз­реша­ем под­клю­чение к RDP в груп­повых полити­ках. Если нет, обхо­дим рабочие мес­та ногами и раз­реша­ем на целевых локаль­ных машинах RDP. Не забыва­ем и о фай­рво­лах.

Вто­рым шагом нам понадо­бит­ся дос­тупный из интерне­та SSH-сер­вер. Тех­ничес­ки подой­дет любое решение. Я исполь­зовал VPS с Debian 10 (один мой зна­комый под­нимал такой сер­вак даже на роуте­ре, что небезо­пас­но). Даль­ше сто­ит раз­делить решения на нес­коль­ко вер­сий, кон­крет­ная реали­зация зависит от того, как орга­низо­вано получе­ние дан­ных для авто­риза­ции поль­зовате­лей.

Пер­воначаль­но у нас исполь­зовал­ся Kerio с авто­риза­цией поль­зовате­лей через AD.

Схе­ма под­клю­чения

Кли­ент под­клю­чал­ся по SSH, проб­расывал порт на API Kerio Control Server, затем под­клю­чал­ся к нему, выпол­нял поиск по задан­ным парамет­рам (логин или фамилия сот­рудни­ка), искал IP локаль­ного ПК. Далее раз­рывал SSH-соеди­нение и уста­нав­ливал новое уже с проб­росом пор­та на най­ден­ный IP, на порт RDP (3389), пос­ле чего штат­ными средс­тва­ми Windows под­нималась сес­сия RDP с переда­чей парамет­ров под­клю­чения.

Готовим серверную часть

Та­кое решение работа­ло доволь­но быс­тро, но нам это­го ста­ло мало, и мы раз­делили его на две час­ти. Сер­верный скрипт стал работать на SSH-сер­вере и сам вре­мя от вре­мени ходить в Kerio за информа­цией. Кли­ент­ская часть под­клю­чалась к сер­веру по SFTP, иска­ла нуж­ные дан­ные, офор­млен­ные в JSON, и выпол­няла под­клю­чение. В ито­ге ско­рость работы уве­личи­лась.

Ре­комен­дую сра­зу нас­тро­ить сер­вер OpenSSH с дос­тупом по клю­чам и под­готовить RSA-клю­чи для авто­риза­ции. Для это­го нуж­но соз­дать отдель­ного поль­зовате­ля и огра­ничить его в пра­вах, затем отдать ему пуб­личную часть клю­ча. Ниже при­веду часть /etc/ssh/sshd_config с нас­трой­ками этих двух поль­зовате­лей:

Match User sftp PubkeyAuthentication yes # PasswordAuthentication yes ChrootDirectory /srv/sftp ForceCommand internalsftp AllowTcpForwarding noMatch User user1 X11Forwarding no ForceCommand /usr/bin/cmatrix # Подойдет и любая другая заглушка (можно заморочиться и отправлять пользователя в песочный bash) PasswordAuthentication yes

Пер­вому поль­зовате­лю SFTP раз­решено под­клю­чать­ся толь­ко к это­му самому SFTP. Вто­рому — лишь для проб­роса пор­тов. Если у тебя исполь­зует­ся Kerio для получе­ния дан­ных о поль­зовате­лях, Active Directory или еще что‑то цен­тра­лизо­ван­ное, рекомен­дую завес­ти отдель­ную учет­ку и огра­ничить ее в пра­вах на вся­кий слу­чай.