OSSL Agent
正在读取最新版本…

一条命令,把服务器接入 OSSL

OSSL Agent 运行在你的服务器上,负责接收 OSSL 下发的证书并部署到 Nginx 等服务,到期前自动续期替换。全程加密通信,只执行 OSSL 平台下发的指令。

Linux / macOS:在目标服务器上以 root 执行
$ curl -fsSL https://get.ossl.cn/index.sh | bash -s -- <令牌>
Windows:在管理员 PowerShell 中执行
PS> powershell -NoProfile -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.ServicePointManager]::SecurityProtocol -bor 3072; & ([scriptblock]::Create([Text.Encoding]::UTF8.GetString((New-Object Net.WebClient).DownloadData('https://get.ossl.cn/install.ps1')))) -Token '<令牌>'"

接入步骤

令牌在控制台生成,安装命令里已经带好,直接复制执行即可。

1

控制台创建服务器

在「服务器」页点「创建服务器」,或在待接入的服务器上点「连接服务器」。

2

复制安装命令

命令里带一次性令牌,24 小时内有效、用一次即作废;过期了重新获取即可。

3

在服务器上执行

自动下载、校验、登记并注册为系统服务(Linux 为 systemd,Windows 为 Windows 服务),控制台检测到上线后自动完成初始化。

安装脚本做了什么

脚本公开可读:index.sh(Linux / macOS)、install.ps1(Windows)。

按平台选包并校验

从 manifest.json 选出本机系统和架构对应的安装包,下载后核对 sha256,不一致就中止。

安装到固定位置

程序在 /opt/ossl,命令 ossl 链接到 /usr/local/bin;Windows 在 C:\Program Files\ossl。重装时先停掉旧服务与旧进程再替换。

用令牌登记身份

本机生成身份密钥并登记到平台,私钥只留在这台机器上;令牌错误或过期会当场提示。

开机自启

注册服务 ossl(systemd / Windows 服务),开机自动启动、异常退出自动拉起。

常用命令

以下命令都在服务器上执行。

用途命令说明
查看运行状态ossl status是否在运行及进程号
查看服务状态systemctl status osslsystemd 视角的状态与最近日志
重启systemctl restart ossl由 systemd 托管时用它,不要用 ossl stop
查看日志tail -f /opt/ossl/client.log连接、指令执行、升级记录
重装 / 换机器控制台「重置绑定」后执行新的安装命令旧客户端会被踢下线且无法再接入
卸载curl -fsSL https://get.ossl.cn/uninstall.sh | bash移除服务、程序和本机身份
Windows:服务状态Get-Service ossl重启用 Restart-Service ossl
Windows:查看日志Get-Content -Wait 'C:\Program Files\ossl\client.log'
Windows:卸载& ([scriptblock]::Create([Text.Encoding]::UTF8.GetString((New-Object Net.WebClient).DownloadData('https://get.ossl.cn/uninstall.ps1'))))管理员 PowerShell 执行;会询问是否删除本机身份,默认保留

自动升级

安装只需要一次,之后的新版本由 agent 自己升级。

只装签过名的版本

每个版本的清单都由离线发布密钥签名,agent 用内置公钥验签、核对 sha256,验不过绝不更新;清单过期也会拒绝。

失败自动回滚

新版本启动后连不上平台,会自动换回旧版本,并且不再尝试这个版本。正在执行的部署任务结束后才会重启。

手动下载

一般不需要手动下载,安装脚本会自动选择。

平台文件sha256
正在读取…

Windows 也用一行命令安装(见页首,管理员 PowerShell 执行),会自动下载、校验并注册为服务,不需要手动下载 exe。

常见问题

提示「需要 root 权限」

换成 root 用户执行,或在 bash 前加 sudo:curl -fsSL https://get.ossl.cn/index.sh | sudo bash -s -- <令牌>

提示令牌无效或已过期

令牌 24 小时内有效,并且只能用一次。在控制台重新点「连接服务器」获取新命令。服务器已经接入过的,要先点「重置绑定」。

服务器重启后控制台显示离线
  • 执行 systemctl status ossl,看服务是否在运行;
  • 没有 systemd 的系统不会开机自启,需要手动执行 ossl start;
  • 检查服务器能否访问 grpc.yujigu.com,日志 /opt/ossl/client.log 里会有连接错误。
agent 会执行任意命令吗

不会。agent 只接受 OSSL 证书服务下发、并且端到端签名加密的指令;其他来源的消息一律丢弃。

支持哪些系统

Linux(amd64、arm64、armv7、armv6、386、mips、mipsle)和 macOS(amd64、arm64)用 index.sh;Windows 10 / Server 2016 及以上(amd64、arm64)用 install.ps1。