远程应用
1 功能简述
- 远程应用(RemoteApp)功能是微软在 Windows Server 2008之后,在其系统中集成的一项服务功能,使用户可以通过远程桌面访问远端的桌面与程序,客户端本机无须安装系统与应用程序的情况下也能正常使用远端发布的各种的桌面与应用。

2 应用发布机
- RemoteApp 功能需准备应用发布机环境来进行支持。
- 应用发布机是用来运行 Web 页面资产或者使用远程应用 Navicat 连接数据的程序运行主体。
2.1 版本要求
- 应用发布机为 Windows Server 服务器,具体版本要求如下:
2.2 创建应用发布机
-
点击应用发布机页面的
创建按钮即新建一个应用发布机。
-
我们支持通过 WinRM 和 OpenSSH 的协议进行应用发布机的部署(推荐使用 Windows-Server 自带的 WinRM 服务)
WinRM
-
通过 WinRM 协议部署应用发布机,在创建应用发布机页面新增 WinRM 协议即可。

-
WinRM 配置完成。
OpenSSH
-
通过 OpenSSH 协议部署应用发布机需要安装 OpenSSH 协议,可以在 JumpServer 页面 -
Web终端-帮助-下载页面找到 OpenSSH 安装包。
-
OpenSSH 安装包传到应用发布机桌面后,双击进行安装。

-
OpenSSH 配置完成。
-
详细参数说明:
2.3 部署应用发布机
- 创建应用发布机后需手动执行应用发布机部署,安装 Python、Chrome、Navicat、DBeaver 或自定义远程应用。
- 点击
应用发布机名称按钮进入应用发布机详情页中,选择发布机部署页签,点击快速更新模块的初始化部署按钮,初始化应用发布机。
2.4 查看应用发布机详情
-
点击
应用发布机名称按钮进入应用发布机详情页中。 -
此页面包含应用发布机详情信息,包括:远程应用发布机帐号列表、远程应用、发布机部署记录等。

-
详细参数说明:
3 远程应用
- 支持 Windows-Server 系统作为远程应用发布机。
- 创建远程应用资源,实现远程访问目标资源,并实现密码代填功能。
- 当前举例访问 JumpServer 页面过程(实现密码代填)
3.1 创建 Website 资产
-
点击切换至
控制台视图资产管理-资产列表页面中。 -
选中
Web页签,点击创建 Website 资产。
-
其中
选择器参数,需要根据目标 Url 页面中的代码参数中获取。 -
我们通过
F12打开目标 Url 的开发者工具页面,步骤如下图:
-
把获取到的参数填写至创建的目标 Website 资产,参考当前页面
3.1 标题第一张图片。
3.2 创建资产授权规则
- 点击切换至
权限管理-资产授权页面中。 - 创建新的授权规则,如下图:

3.3 访问 Website 资产
- 支持通过
Web终端选中目标 Website 资产访问。 - 支持通过本地客户端方式访问 Website 资产,安装 JumpServer 客户端程序,可在 JumpServer 页面 -
Web终端-帮助-下载页面找到安装包。
3.4 页面效果
- 当前为远程应用页面访问效果图:

4 虚拟应用
- 支持 Linux 系统作为远程应用发布机。
- 创建远程应用资源,实现远程访问目标资源,并实现密码代填功能。
- 当前举例访问 JumpServer 页面过程(实现密码代填)
4.1 功能启用
-
点击
系统设置-功能设置-虚拟应用页签启用虚拟应用功能。
-
功能启用后,可以在
系统设置-远程应用模块中看到虚拟应用和应用提供者页签。
4.2 上传应用
-
点击
虚拟应用的页签,上传需要发布的应用,当前举例应用为 Chrome。
-
上传虚拟应用后,Panda 组件会同步这个应用配置的镜像,目前同步方式为自动同步,默认每5分钟一次,支持修改时间间隔。
-
点击
应用提供者页签中的列表名称后跳转同步状态页。
4.3 创建 Website 资产
- 点击切换至
控制台视图资产管理-资产列表页面中。 - 选中
Web页签,点击创建 Website 资产。
4.4 创建资产授权规则
- 点击切换至
权限管理-资产授权页面中。 - 创建新的授权规则,如下图:

4.5 访问 Website 资产
- 支持通过
Web终端选中目标 Website 资产访问(如下图)。 - 支持通过本地客户端方式访问 Website 资产,安装 JumpServer 客户端程序,可在 JumpServer 页面 -
Web终端-帮助-下载页面找到安装包。

5 自定义 Applet
5.1 Applet 介绍
- Applet 是一个包含 Python 脚本的目录,必须至少包含以下文件:
- 文件名称作用说明:
5.2 元数据 manifest.yml
- manifest.yml 定义了 Applet 的元数据,如名称、作者、版本、支持的协议。
- 详细字段说明:
5.3 安装条件 setup.yml
- setup.yml 定义了 Applet 拉起程序的安装方式。
- 详细字段说明:
- 如果选择 manual 的方式,source 等保持为空,可不校验 MD5 值,需要手动登录 Applet host(应用发布机)上安装软件。
5.4 脚本执行 main.py
- main.py 是 Python 脚本主程序。
- JumpServer 的 Remoteapp 程序 tinker 将通过调用 python main.py base64_json_data 的方式执行。
- base64_json_data 是 JSON 数据进行 base64 之后的字符串,包含资产、账号等认证信息。数据格式大致如下,依据 api 变化做相应调整:
