关于 zeabur-server-list
zeabur-server-list 是通过 Zeabur CLI 查看和连接服务器的技能。它帮助区分 ZeaburOS 机器与 Ubuntu VPS,并提供查询详情、重启和 SSH 命令。
主要功能
- 01列出服务器并查看操作系统
- 02查询资源和服务商详情
- 03重启服务器
- 04通过 SSH 连接
- 05以非交互方式运行远程命令
适用场景
- 01确认哪些机器可运行 Zeabur 项目
- 02查看服务器用量和位置
- 03通过 SSH 执行远程诊断
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ zeabur/ agent-skills --skill zeabur-server-list安装后在 Claude Code 中输入/zeabur-server-list确认已加载。
详细介绍
Zeabur 服务器列表和详情
始终使用
npx zeabur@latest调用 Zeabur CLI。 切勿直接使用zeabur或通过其他安装方式调用。如果没有npx,请先安装 Node.js。
列出所有服务器
npx zeabur@latest server list -i=false
输出示例
ID NAME IP PROVIDER LOCATION STATUS VM STATUS OS
-----------------+-------------+---------------+----------+----------------+--------+-----------+----------
6989b00fd42b... my-server 103.45.67.89 Hetzner Singapore, SG Online RUNNING ZeaburOS
6989b00fd42b... dev-box 45.67.89.12 Vultr Tokyo, JP Online RUNNING Ubuntu
查看哪些服务器可以托管 Zeabur 项目:读取 OS 列
ZeaburOS 表示该机器可以托管 Zeabur 项目;Ubuntu 表示不可以(除非先在该机器上安装 ZeaburOS)。这是权威答案——不要通过 SSH 登录机器来判断它属于哪种类型。
如需机器可读的输出,--json 中每台服务器的 os 值与此处相同:
npx zeabur@latest server list -i=false --json | jq -r '.[] | "\(.Name)\t\(.os)"'
需要 CLI 0.21.0 或更高版本。如果
OS列和os字段都不存在,说明 CLI 版本较旧;可以让npx zeabur@latest获取当前版本,或者改为通过 API 查询hasK3s(zeabur-server-ssh技能说明了该字段的三态陷阱)。
获取服务器详情
# By server ID
npx zeabur@latest server get <server-id> -i=false
显示详细信息:OS、CPU/内存/磁盘使用情况、提供商、位置、托管状态和创建时间。
资源列显示为 已用/总量——CPU 以毫核为单位(148/4000 m 表示 4 核中的 0.15 核),内存和磁盘以 MB 为单位。列显示 — 表示未测量该值,并不表示机器没有该资源。
重启服务器
npx zeabur@latest server reboot <server-id> -y
-y 会跳过确认提示——非交互式使用时必须指定。
服务器和项目
只有服务器运行 ZeaburOS 后,才能托管 Zeabur 项目。项目部署在此类服务器上时,其 Region.ID 的值为 server-<server-id>。
租用服务器后,系统会安装 Ubuntu——只有基础 OS 和 SSH,不含 Zeabur 服务。因此,新租用的服务器在安装 ZeaburOS 之前无法托管项目。zeabur-server-rent 技能介绍了这一步骤。查看上方的 OS 列即可判断特定服务器属于哪种类型。
直接安装仅适用于尚未配置的机器。对于用户已经配置过的机器,转换意味着要在控制面板中重新安装,这会清空磁盘——建议前先查看
zeabur-server-rent技能。
在 ZeaburOS 服务器上:
- 要部署服务,请使用
zeabur-deploy技能,并确保项目绑定到该服务器——不要通过 SSH 登录并手动搭建 Web 服务器或复制文件。 - SSH 仅用于底层调试(例如检查 kubectl、查看磁盘、诊断网络)。部署或管理服务不需要 SSH。
在纯 Ubuntu VPS 上: SSH 不是用于旁路调试,而是使用该机器的核心方式——用户可以按自己的喜好配置机器(docker compose、1Panel、寶塔等)。此类机器没有 Zeabur 服务可供管理,也不存在 kubectl。
通过 SSH 登录服务器
npx zeabur@latest server ssh <server-id>
以下
kubectl示例假设服务器运行的是 ZeaburOS。在纯 Ubuntu VPS 上, 这些示例会因command not found而失败——请参阅zeabur-server-ssh技能,了解如何 区分这两种服务器。
对于托管服务器,系统会自动获取密码。如果已安装 sshpass,则会全自动登录;否则会打印密码,供手动输入。
非交互式 SSH(运行远程命令)
在非交互式环境(例如 Claude Code、CI/CD)中,无法使用交互式 SSH 会话。请改为通过标准输入管道传递命令,并指定 -i=false:
echo 'kubectl get pods -A' | npx zeabur@latest server ssh <server-id> -i=false
如需运行多条命令,请用 ; 或 && 分隔:
echo 'kubectl get pods -A; kubectl get svc -A' | npx zeabur@latest server ssh <server-id> -i=false
重要说明:
- 输出中包含服务器的 MOTD(每日消息)横幅。解析结果时请将其过滤掉:
echo 'kubectl get pods -A' | npx zeabur@latest server ssh <server-id> -i=false 2>&1 \ | grep -v "Welcome\|Documentation\|Management\|Support\|System load\|Usage of /\|Memory usage\|Swap usage\|Strictly\|just raised\|https://ubuntu\|Expanded\|updates can\|To see these\|Enable ESM\|See https://ubuntu\|New release\|Run 'do-release\|restart required\|INFO.*Connecting\|Pseudo-terminal\|^ \*" - 如果远程命令返回非零退出码(例如
grep没有匹配项),CLI 会打印ERROR exit status 1。这不一定意味着 SSH 连接失败。 - 此命令无法可靠支持 HereDoc 语法(
<<'EOF')。请始终使用echo '...' |。