Решение проблем с публикацией приложений 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 иDbeaverDBeaver загружаеются с сервера JS по тому же адресу, указанному в CoreAPI,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 должно име
еть права администратораRDSRDS. -
В IP/Host должен быть указан IP адрес RDS сервера или его DNS имя, которое резолвится с
JumpServer.JumpServer -
В Core API должен быть указан URL JumpServer, который доступен с RDS
Server.Server -
На RDS должны быть созданы УЗ вида JS_XX и
JMS_XX.JMS_XX -
УЗ вида JS_XX и JMS_XX на RDS должны наход
.яиться в группе пользователей удаленного рабочего стола на RDS сервере -
Сервис JumpServer Tinker на RDS сервере должен быть запущен
. -
Статус RDS сервера в интерфейсе JumpServer:
Normal.Normal -
Статус апплетов в свойствах RDS сервера в интерфейсе JumpServer:
Success.Success