鉴于 JumpServer V3 重新构架了远程应用发布服务器,作为未来的扩展核心,越来越多的客户在项目部署或升级完成后,迫切希望了解该功能的变化和配置方法,针对客户要求,简单总结了配置步骤,以便于客户如何能自己快速的完成应用发布机的配置工作,简单说明如下:
一、应用说明 {#heading-1}
JumpServer 2.* 版本中 Remote APP 远程应用作为一种应用类别,仅仅作为 JumpServer 的一种能力存在。在资产上安装应用,然后通过托管程序拉起、这种使用方式比较基础,开发和复用起来十分麻烦。面对不同的使用场景,需要在每个客户端中进行重新配置,不便于我们进行扩展和定制开发,无法满足很多企业用户的需求,部署交付比较消耗人力。因此在 JumpServer v3.0 版本中,JumpServer 项目组对远程应用进行了重新设计。
远程应用是 JumpServer 未来扩展的核心,也是 JumpServer v3.0 版本重构中非常重要的部分。我们的研发团队很重视远程应用的重新设计,在 JumpServer v3.0 版本中做了重大的更新。
在 JumpServer v3.0 版本中,RemoteApp 的改变包括:
-
RemoteApp 远程应用将作为一种连接方式存在,主要用于连接资产,而不再是一种应用类型;
-
RemoteApp 的主机池由 JumpServer 进行统一维护,并且能定时上报状态;
-
用户提供 Windows 资产并安装基础组件之后,JumpServer 会在应用发布机上代理执行自动化的工作,这样一来,RemoteApp 主机就可以自动部署、自动维护;
-
密码代填功能使用 Python 框架完成,而不再使用 AutoHotKey,准确性更强;
-
添加 RemoteApp 类型后,需要声明支持的协议。
新版本的 JumpServer 共有三种连接方式,分别是基于原始协议级实现的本地客户端连接方式、基于 Web 实现的 Web 连接方式,以及基于 RemoteApp 实现代理的远程应用连接方式。当用户连接资产的时候,可以根据该资产已有协议来选择连接方式,系统将会提供多种连接方式供用户选择。
二、安装准备 {#heading-2}
2.1 环境和系统要求 {#heading-3}
JumpServer V3 版本重构了远程应用模块,需要重新部署远程应用。V3 版本需要使用 Windows Server 2019(远程应用需要安装 python 3.10 版本,JumpServer 自动化部署安装 python 3.10 版本,用户不用手动安装)。
Windows 服务器要求:
-
Windows Server 2019;
-
该 Windows 尽量保持干净状态即全新状态的 Windows,同时不需要安装 Chrome,初始化应用发布机使会自动安装,如手动安装可能会导致 Chrome 版本冲突,其它服务软件同理;
-
该 Windows 需要安装 OpenSSH 协议。该 Windows 机器不需要加域,除安装 OpenSSH 之外不需要做任何更改;
-
建议规格:2C4G(个人测试使用)、4C8G(正式环境使用)。
-
经测试,Windows Server 2016 与 Windows Server 2022版本在该场景下适配性不足,暂时不推荐使用。
JumpServer 提供了一键部署版,下载地址位于:Web 终端→帮助→下载→Windows 远程应用发布服务器工具。
OpenSSH 为必须安装的软件包。
下载 openSSH-win64 后,上传到远程应用服务器并完成安装。
三、远程应用服务的部署和发布 {#heading-4}
3.1 部署和配置 {#heading-5}
远程应用的设置在 V3 版本调整到了系统设置中。创建一个新的远程应用发布机的顺序为:系统设置→远程应用→应用发布机→创建。
在页面右上角找到系统设置按钮,打开系统设置页面。
在系统设置页面中选择远程应用功能,打开远程应用服务配置页面,创建应用发布机,填写应用发布机的相关信息,提交,完成应用发布机的创建。
填写过程中注意,在应用发布机页面中修改 Core 服务地址,修改为提供服务的 JumpServer 服务地址。
发布机创建参数说明:
|----------------|--------------------------------------------------------------------------------------| | 参数 | 说明 | | 名称 | 远程应用发布机的名称,识别信息。 | | IP/主机 | 远程应用发布机的 IP 信息。 | | 协议组 | 远程应用发布机支持的协议组以及协议组的端口。 | | 账号列表 | 远程应用发布机的连接账号信息。 | | API 服务 | 远程应用发布机的 agent 与 JumpServer 堡垒机 core 服务的通信地址。 | | RDS 许可证 | RDS 许可证启用选项。需用户自己提供,JumpServer 负责推送。JumpServer 不提供 RDS 许可证。 | | RDS 许可服务器 | RDS 许可服务器信息。 | | RDS 授权模式 | 选择"设备"或"用户"设置授权模式。 设备:允许一台设备(任何用户使用的)连接到远程应用发布机。 用户:授予一个用户从无限数目的客户端计算机或设备访问远程应用发布机。 | | RDS 单用户单会话 | 选择"禁用"或"启用"设置单用户单会话模式。 禁用:允许每个用户可以同时多台客户端电脑连接服务器远程桌面。 启用:禁止每个用户可以同时多台客户端电脑连接服务器远程桌面。 | | RDS 最大断开时间 | 如果某个会话连接达到了此最大时间,连接即断开。 | | RDS 远程应用注销时间限制 | 远程应用会话断开后的注销时间。 |
创建完成后,返回发布机页面,点击需要配置的应用发布机,进入发布机配置页面.
在 "详情" 页面选择测试资产连接性功能,完成资产连接性验证。
资产连接性测试完成后,选择发布机部署功能,点击右侧部署功能,完成应用发布机的初始化配置。
系统开始对应用发布机进行远程配置。
系统开始安装和配置 JumpServer Tinker, Python 等软件包的配置,待基础软件安装配置完成后,查看安装结果,完成状态应该为成功。
返回远程应用页面选择应用发布机,此时完成初始化配置的应用发布机负载状态应该为正常。
3.2 应用发布 {#heading-6}
打开远程应用页面,默认包括 Chrome 浏览器和 DBeaver 社区版,选择应用市场,选择需要部署安装的软件包并完成下载。
查看下载结果,在上传页面中上传需要的软件包,软件包格式为 .zip。
返回应用发布机页面选择远程应用,查看已上传的应用,选择部署功能,查看部署状态。
部署完成,可登录资源测试部署结果。
远程发布机的配置和验证完成。
四、Web 节点的资产管理 {#heading-7}
4.1 Web 资产创建 {#heading-8}
打开资产管理页面,在资产管理中的资产树下,选择 Default,单击右键选择创建节点功能,为 Web 管理添加单独的 Web 节点,节点添加完成后选择创建功能进行管理资产的创建。
在创建页面中,选择 Web 类型,添加 Website 管理资产。
在添加资产页面中,正确填入 Web 资产信息,对于选择器的使用,可以选择禁用,基本和脚本三种方式进行,需要按照不同的方式正确的填入相关信息,信息填写完毕后,点击提交按键,完成资产的创建。
4.2 Web 基础元素的填写规则 {#heading-9}
针对 Web 资产管理创建中的基本规则,可以按以下方式尝试填写。
以 JumpServer 登录页面为例,在开启登录页面时,打开元素检查页面,查看登录 Button 相关元素。
找到 XPath 并复制。
将以上信息填入相应的 Web 资产管理中,即可完成 Web 资产的创建。
4.2 Web 资产的授权 {#heading-10}
Web 资产创建完成后,可以选择资产管理进行资产授权操作,选择权限管理中的资产授权选项,进行创建操作。
在资产授权页面中填入正确的资产和权限信息,点击提交,完成资产授权操作。
提交完成后,如果没有异常则即授权成功!
以上图片示例的含义为:将测试 Web 资产授权给 Admin 用户使用资产上的所有账户进行登录,Admin 在此 Web 资产上拥有全部动作权限,权限设定的选择如下:
在资产创建和授权过程中的账号指密码代填的账号,并非为登录 Windows 的账号。登录 Windows 的账号为随机账号,在初始化部署应用发布机时会创建 100 个以 jms 开头的随机账号,登录时随机使用账号登录 Windows 应用发布机。
远程应用发布机创建的账号信息,可以通过 "远程应用" -> "远程应用发布机" -> "账号列表" 查看。
完成上述操作后,即可访问 Web 资产并完成代填。