Перейти к основному контенту

Решение проблем с публикацией приложений RemoteApp

В этой статье я подробно опишу как взаимодействуют JumpServer, RDS Server и Tinker, чтобы можно было выяснить в чем проблема.

Описание процесса интеграции RDS и JumpServer.

1. JumpServer подключается по SSH к серверу RDS:

  • устанавливает там сервис Tinker, которому сообщает адрес JS (параметр Core API)
  • создает локальные сервисные УЗ вида js_* и jms_* на RDS
  • добавляет созданные УЗ в группу "Remote Desktop Users" 

Важно: группа "Remote Desktop Users" может называться по-другому в Windows, название может зависеть от языка ОС, если эти УЗ не присутствуют в группе, нужно будет добавить их вручную.

2. Tinker связывается с JumpServer по заданному адресу (параметр Core API) 

  • Tinker сообщает что Tinker работает и статус RDS становится "online"
  • загружает дистрибутивы выбранных апплетов, например Chrome и Dbeaver загружается с сервера JS по тому же адресу, указанному в Core API, другие апплеты он может пытаться загрузить из интернета. Если интернета нет, можете установить нужные приложения вручную.
  • Tinker устанавливает загруженные апплеты.
Описание Tinker:

Tinker - вспомогательное приложение для интеграции с JumpServer, участвует в поддержке связи между RDS и JS, устанавливает нужные для публикации приложения(апплеты), а также управляет публикацией приложений RemoteApp при запуске сессий.

По умолчанию устанавливается в папку C:\Users\[ACCOUNT]\AppData\Local\Programs\Tinker\ ([ACCOUNT] - это УЗ, которая использовалась для интеграции JS и RDS)
Устанавливает сервис JumpServer Tinker Service - он всегда должен быть запущен
Подробный лог работы и ошибок Tinker доступен в папке:
C:\Users\[ACCOUNT]\AppData\Local\Programs\Tinker\data\logs

Апплеты Tinker
Аплеты - это набор из приложения и скриптов автоматизации для управления приложением, по умолчанию апплеты устанавливаются в папку
C:\Program Files\JumpServer
Именно в этой папке находятся запускаемые приложения и python скрипты с параметрами запуска, вы их можете изменять, если нужно.


Итоговый чек-лист:
  • На Windows RDS установлен OpenSSH, 22 порт открыт на Windows файрволле
  • УЗ для интеграции с RDS имеет права администратора RDS
  • В IP/Host указан IP адрес RDS сервера или его DNS имя, которое резолвится с JumpServer 
  • В Core API указан URL JumpServer, который доступен с RDS Server
  • На RDS созданы УЗ вида JS_XX и JMS_XX
  • УЗ вида JS_XX и JMS_XX на RDS находятся в группе пользователей удаленного рабочего стола на RDS сервере
  • Сервис JumpServer Tinker на RDS сервере запущен
  • Статус RDS сервера в интерфейсе JumpServer: Normal
  • Статус апплетов в свойствах RDS сервера в интерфейсе JumpServer: Success

Скриншоты стенда JS:

76d855ca9bc4889c6907b4266d9ba0de.png

 073d5d8fa0f4ff95cdcab4f634613aeb.png

85937cb6e01264524ca4436c5216695c.png