远程应用

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

    • RemoteApp 功能需准备应用发布机环境来进行支持。
    • 应用发布机是用来运行 Web 页面资产或者使用远程应用 Navicat 连接数据的程序运行主体。
    • 应用发布机为 Windows Server 服务器,具体版本要求如下:

    2.2 安装 OpenSSH

    • 部署应用发布机前需要安装 OpenSSH 协议,可在 JumpServer 页面 - - 帮助 - 下载 页面找到 OpenSSH 安装包。

    remoteapp01

    • OpenSSH 安装包传到应用发布机桌面后,双击进行安装。

    2.3 创建应用发布机

    • 点击应用发布机页面的创建按钮即新建一个应用发布机。
    • 详细参数说明:
    参数说明
    名称远程应用发布机的名称,识别信息。
    IP/主机远程应用发布机的IP信息。
    协议组远程应用发布机支持的协议族以及协议组的端口。
    账号列表远程应用发布机的连接账号信息。
    API 服务远程应用发布机的 Agent 与 JumpServer 后端 Core 组件服务的通信地址。
    RDS 许可证RDS 许可证启用选项。
    RDS 许可服务器RDS 许可服务器信息。
    RDS 授权模式选择”设备”或”用户”设置授权模式。
    A.设备:允许一台设备(任何用户使用的)连接到远程应用发布机。
    B.用户:授予一个用户从无限数目的客户端计算机或设备访问远程应用发布机。
    RDS 单用户单会话选择”禁用”或”启用”设置单用户单会话模式。
    A.禁用:允许每个用户可以同时多台客户端电脑连接服务器远程桌面。
    B.启用:禁止每个用户可以同时多台客户端电脑连接服务器远程桌面。
    RDS 最大断开时间如果某个会话连接达到了此最大时间,连接即断开。
    RDS 远程应用注销时间限制远程应用会话断开后的注销时间。

    2.4 部署应用发布机

    • 创建应用发布机后需手动执行应用发布机部署,安装 Python、Chrome、Navicat、DBeaver 或自定义远程应用。
    • 点击应用发布机名称按钮进入应用发布机详情页中,选择发布机部署页签,点击快速更新模块的初始化部署按钮,初始化应用发布机。

    remoteapp05

    • 点击按钮进入应用发布机详情页中。
    • 此页面包含应用发布机详情信息,包括:远程应用发布机帐号列表、远程应用、发布机部署记录等。

    • 详细参数说明:
    • 创建远程应用资源,实现远程访问目标资源,并实现密码代替功能。
    • 当前举例访问 JumpServer 页面过程(实现密码代填)

    3.1 创建 Website 资产

    • 点击切换至控制台视图资产管理 - 资产列表 页面中。

    remoteapp08

    • 其中 选择器 参数,需要根据目标 Url 页面中的代码参数中获取。
    • 我们通过 F12 打开目标 Url 的开发者工具页面,步骤如下图:
    • 把获取到的参数填写至创建的目标 Website 资产,参考当前页面第一张图片。

    3.2 创建资产授权规则

    • 点击切换至权限管理 - 资产授权 页面中。
    • 创建新的授权规则,如下图:

    3.3 访问 Website 资产

    • 通过 Web终端 选中目标 Website 资产访问。
    • 访问 Website 资产需要本地客户端安装 JumpServer 客户端程序,可在 JumpServer 页面 - Web终端 - 帮助 - 下载 页面找到安装包。

    remoteapp10

    • 当前为远程应用页面访问效果图:

    4.1 Applet 介绍

    • Applet 是一个包含 Python 脚本的目录,必须至少包含以下文件:
    • 文件名称作用说明:
    文件名称说明
    main.pyPython 代填的执行脚本。
    icon.pngApplet 的图标
    manifest.ymlApplet 的元数据。
    setup.yml拉起程序的安装描述。
    i18n.yml对 manifest.yml 的国际化文件。

    4.2 元数据 manifest.yml

    • manifes.yml 定义了 Applet 的元数据,如名称、作者、版本、支持的协议。
    • 详细字段说明:

    4.3 安装条件 setup.yml

    • setup.yml 定义了 Applet 拉起程序的安装方式。
    • 详细字段说明:
    字段说明
    type是软件安装的方式。
    msi:安装软件。
    exe:安装软件。
    zip:解压安装方式。
    manual:手动安装方式。
    source软件下载地址。
    argumentsmsi 或者 exe 安装程序需要的参数,使用静默安装。
    destination程序安装目录地址。
    program具体的软件地址。
    md5program 软件的 md5 值,主要用于校验安装是否成功。
    • 如果选择 manual 的方式,source 等保持为空,可不校验 MD5 值,需要手动登录 Applet host(应用发布机)上安装软件。
    • main.py 是 Python 脚本主程序。
    • base64_json_data 是 JSON 数据进行 base64 之后的字符串,包含资产、账号等认证信息。数据格式大致如下,依据 api 变化做相应调整: