---
url: https://eoht.net/vps/tools/r-bot.md
description: 按 R Bot 当前维护文档安装客户端、激活 Telegram 账户、配置 OCI API 私钥，并区分首次安装、升级、重启、日志检查与 ARM 实例创建。
---

# 使用 R Bot 部署甲骨文云 ARM 管理客户端 {#deploy-oracle-cloud-arm-instance-bot}

## 准备工作 {#prerequisites}

<Links
:grid="3"
:items="[
 {
   icon: { icon: 'cib:github', color: { light: '#000', dark: '#fff' } },
   name: 'R探长 Bot',
   desc: '在 GitHub 上查看 Oracle / Azure 云管理工具源码',
   link: 'https://github.com/semicons/java_oci_manage'
 },
 {
   icon: 'logos:telegram',
   name: 'R探长',
   desc: 'Telegram 频道，分享 Oracle / Azure 云相关资源',
   link: 'https://t.me/agentONE_R'
 },
 {
   icon: 'logos:telegram',
   name: 'R探长小助理',
   desc: 'Telegram 智能 Bot，支持自动开通与查询服务',
   link: 'https://t.me/radiance_helper_bot'
 }
]"
/>

本文于 2026-10-24 对照 [上游安装文档](https://github.com/semicons/java_oci_manage/blob/main/md/install.md) 和 [上手教程](https://github.com/semicons/java_oci_manage/blob/main/md/quickstart.md) 修订，未进行实际开机测试。R Bot 现在包含 Web 面板，旧版截图只辅助识别配置内容。

* **客户端主机：** 使用自己控制、能访问 GitHub 和所需云 API 的 Linux 主机；以下依赖安装命令适用于 Debian / Ubuntu。先用 `uname -m` 确认架构，当前启动脚本会选择 x86_64 或 ARM64 对应程序。
* **端口模式：** Web 面板默认使用 TCP `9527`，访问地址是 `https://服务器地址:9527`。按实际管理来源和机器人连接需求配置宿主机防火墙、云安全组；端口可达不等于登录和 OCI API 已正常。
* **本地模式：** 上游支持在 `client_config` 中设 `model=local`，无需开放 Web 端口，仅通过 Telegram 操作。不要把开放 `9527` 当成所有模式的前提。
* **创建实例：** 先确认 OCI 账号权限、目标区域、配额、实例规格、磁盘及计费条件。自动重试不保证一定获得 ARM 容量。

下文以**端口模式**演示安装、Web 激活和 OCI 配置。选择 `model=local` 时，不适用下方的浏览器激活步骤；账户配置与绑定应按上游文档及机器人当前提示完成，不会提供同样的 Web 页面。

## 获取客户端身份与激活 {#get-vps-information}

先关注 [R 探长小助理](https://t.me/radiance_helper_bot)，完成下方客户端安装后再绑定：

1. 浏览器打开客户端的 HTTPS 页面，核对服务器地址。默认自签证书需先核对确为自己的服务；长期使用可配置可信证书。
2. 首次启动会生成账户凭据，页面顶部显示 `/bindclient` 激活提示。将提示中的命令私发给机器人，再刷新页面确认激活状态。
3. 已有账户可通过提示栏的“已有账户？”绑定，或修改客户端目录内 `client_config` 的 `username` / `password` 后重启。

凭据保存在客户端目录，应私密备份，不发到公开群组。旧版 `/raninfo` 截图仅作历史界面参考，首次安装以当前页面的 `/bindclient` 流程为准。

![一键脚本部署开ARM机器 =688x](https://i.eoht.net/docs/202309032107312.webp "旧版 VPS INFO 界面参考")

## 获取甲骨文 API 密钥 {#get-oracle-cloud-api-key}

1. 登录 OCI 控制台，在身份域中选择用于管理实例的用户，进入其 API 密钥页面。
2. 添加 API 密钥，保存生成的私钥 `.pem`，确认对应公钥已添加。实例 SSH 登录密钥与 OCI API 签名密钥用途不同，不要混用。

![一键脚本部署开ARM机器 =688x](https://i.eoht.net/docs/20230903211053.webp "下载甲骨文 API 密钥")

3. 保存配置预览中的 `user`、`fingerprint`、`tenancy` 和 `region`；稍后将 `key_file` 改成客户端服务器上的实际私钥绝对路径。

![一键脚本部署开ARM机器 =688x](https://i.eoht.net/docs/202309032112188.webp "配置文件预览")

## VPS 端部署 {#deploy-bot-on-vps}

### 更新软件包索引及安装组件 {#update-system-and-install-components}

```bash
sudo apt update
sudo apt install -y ca-certificates curl tar
```

### Linux 首次安装与更新 {#install-or-update-bot}

以下统一使用当前登录账户下的 `$HOME/rbot`。若以 root 登录，对应 `/root/rbot`；使用其他目录时，后续启动、配置、备份和日志命令也要保持相同目录。

首次安装先创建独立目录，下载脚本后查看内容，再执行。`mkdir` 遇到已有目录会停止，已有部署应使用后面的升级步骤。

```bash
mkdir "$HOME/rbot" && cd "$HOME/rbot" &&
  curl -fL --retry 3 -o sh_client_bot.sh \
    https://github.com/semicons/java_oci_manage/releases/latest/download/sh_client_bot.sh
```

```bash
cd "$HOME/rbot" && less sh_client_bot.sh
```

确认下载成功、内容是预期的维护者脚本后启动：

```bash
cd "$HOME/rbot" && bash sh_client_bot.sh
```

当前脚本按架构下载程序，原先通用的 `gz_client_bot.tar.gz` 不应再作为安装入口。具体发布文件可在 [Releases](https://github.com/semicons/java_oci_manage/releases) 核对；旧的 Java 部署迁移前应先查看对应版本说明，不直接用新包覆盖唯一副本。

已有当前版本部署需要更新时，先停止客户端、私密备份整个工作目录，再使用维护者提供的升级命令。备份也包含密钥和登录凭据，应限制访问：

```bash
cd "$HOME/rbot" && bash sh_client_bot.sh stop
```

确认停止成功后执行备份，再升级；任一步骤失败先处理，不继续下一步。

```bash
umask 077
tar -czf "$HOME/rbot-backup-$(date +%Y%m%d-%H%M%S).tar.gz" -C "$HOME" rbot
```

```bash
cd "$HOME/rbot" && bash sh_client_bot.sh upgrade
```

### 部署密钥 {#deploy-api-key}

通过 SFTP 等方式将 API 私钥上传到客户端服务器，例如当前账户的 `rbot/oci_api_key.pem`，不要将私钥文件发给机器人。本文使用文件方式配置；当前 Web 面板也提供 OCI 配置入口。

```bash
cd "$HOME/rbot" && chmod 600 oci_api_key.pem client_config
```

编辑 **`$HOME/rbot/client_config`**，在已有的 `oci=begin` 和 `oci=end` 之间填入自己的配置预览。`key_file` 必须是实际绝对路径，配置文件中的 `$HOME` 不会按 Shell 变量自动展开；root 部署示例如下，其余值全部替换为自己的参数：

```ini
oci=begin
[DEFAULT]
user=替换为用户OCID
fingerprint=替换为API密钥指纹
tenancy=替换为租户OCID
region=替换为目标区域
key_file=/root/rbot/oci_api_key.pem
oci=end
```

![一键脚本部署开ARM机器 =688x](https://i.eoht.net/docs/202309032121395.webp "旧版 client_config 配置界面参考")

保存后从同一目录重启并查询状态：

```bash
cd "$HOME/rbot" && bash sh_client_bot.sh restart
```

```bash
cd "$HOME/rbot" && bash sh_client_bot.sh status
```

![一键脚本部署开ARM机器 =688x](https://i.eoht.net/docs/202309032126839.webp "旧版 sh_client_bot.sh 运行界面参考")

## R 探长的小助理 {#configure-telegram-bot-assistant}

消息栏输入 `/oracle` (oracle 云管理)，如下图所示：
![一键脚本部署开ARM机器 =688x](https://i.eoht.net/docs/202309032123801.webp "R 探长的小助理")

在机器人选择正确的账户 / Profile，再按“开机（刷 ARM）”提示核对区域、规格、镜像、SSH 公钥和数量，确认后才提交。先验证能够查询账户和实例列表；若鉴权失败，检查 API 指纹、私钥路径、区域、系统时间及用户权限。

实例创建结果应同时对照 OCI 控制台和客户端日志。只看到“任务已启动”不能认定已创建成功；不再需要的重试任务应在面板中停止。

## VPS-bot 相关命令 {#vps-bot-commands}

以下为当前维护文档提供的操作入口，按需选择，均从安装目录运行：

```bash
cd "$HOME/rbot" && bash sh_client_bot.sh status
```

```bash
# 查看日志，Ctrl+C 仅退出查看
cd "$HOME/rbot" && bash sh_client_bot.sh log
```

```bash
# 启动或重启
cd "$HOME/rbot" && bash sh_client_bot.sh restart
```

```bash
# 停止客户端
cd "$HOME/rbot" && bash sh_client_bot.sh stop
```

卸载前先停止云端重试任务，保留需要的配置和私钥备份，核对工作目录，再使用当前脚本的卸载入口。卸载本地客户端不等于删除云端实例，也不会自动撤销 OCI API 密钥。

```bash
cd "$HOME/rbot" && bash sh_client_bot.sh uninstall
```

不要用模糊的进程匹配批量 `kill -9`，也不要因删除客户端而通配卸载整台主机的 JDK；其他服务可能仍然依赖它。
