1
在 KiwiVM 找到 VEID 和 API Key
登录 KiwiVM,左侧菜单点 API。页面上方显示这台 VPS 的 VEID(编号),点 Show API Key 显示密钥:
KiwiVM:API 页(VEID 已打码)
- 1
Reset API Key:重新生成密钥。密钥给别人看过、贴到过群里,就点这里换一个,脚本里也跟着换
每台 VPS 有自己的 VEID 和 API Key。这一页还写明:参数用 GET 或 POST 传都可以;账户下所有 VPS 的密钥,可以在客户区导出成 CSV 表格。
注意拿到 API Key 就能关机、重装这台 VPS,和 root 密码一样重要。保管方法见第 5 步。
2
第一次调用:查这台 VPS 的基本信息
接口地址是 https://api.64clouds.com/v1/接口名,每次带上 veid 和 api_key 两个参数。建议用 POST 传:密钥不会出现在网址里,也就不会留在浏览器历史和各种日志里。登录服务器后(或者在 macOS、Linux 的终端里)执行:
VEID=你的VEID
KEY=你的API密钥
curl -s -X POST https://api.64clouds.com/v1/getServiceInfo -d "veid=$VEID" -d "api_key=$KEY"
返回的是 JSON。本站测试机的结果(节选,主机名、IP、邮箱等已去掉):
{
"vm_type": "kvm",
"node_location_id": "USCA_2",
"node_datacenter": "US: Los Angeles, California (DC2 AO)",
"location_ipv6_ready": true,
"plan": "kvmv2-20g",
"plan_monthly_data": 1073741824000,
"plan_max_ipv6s": 1,
"os": "almalinux-9-x86_64",
"data_counter": 5406758449,
"data_next_reset": 1795131860,
"suspended": false,
"free_ip_replacement_interval": 0,
...
}
常用的几个字段:
| 字段 | 意思 | 本站测试机 |
node_datacenter | 所在机房 | US: Los Angeles, California (DC2 AO) |
plan | 套餐代号 | kvmv2-20g(20G KVM PROMO) |
plan_monthly_data | 每月流量,单位字节 | 1000 GB |
data_counter | 本月已用流量,单位字节 | 约 5.0 GB |
data_next_reset | 下次流量重置时间(Unix 时间戳) | 换算成北京时间是每月 20 日 07:44 |
os | 现在装的系统 | almalinux-9-x86_64 |
location_ipv6_ready、plan_max_ipv6s | 机房能不能用 IPv6、最多几个 IPv6 地址 | true、1 |
free_ip_replacement_interval | 免费换 IP 的间隔,0 就是没有 | 0 |
suspended | 是否被暂停 | false |
3
常用的只读接口:查状态、流量、可迁移机房
只读接口只查不改,随便调用不会影响服务器。本站在测试机上逐个调用过:
| 接口 | 返回什么 | 本站测试机实测 |
getServiceInfo | 套餐、机房、流量、系统等基本信息 | 见第 2 步 |
getLiveServiceInfo | 在上面的基础上加实时状态:是否在运行、负载、可用内存、已用硬盘,还有一张控制台截图(base64 图片) | ve_status 是 running |
getRawUsageStats | 每 5 分钟一条的 CPU、进出流量、磁盘读写记录 | 返回近 5,000 条,约 19 天 |
getAvailableOS | 能重装的系统模板 | 16 个,从 CentOS 7 到 AlmaLinux 10、Ubuntu 26.04 |
migrate/getLocations | 能迁移去的机房,和每个机房的流量计费倍数 | 6 个(洛杉矶 DC2、DC8,弗里蒙特,纽约,温哥华,阿姆斯特丹),倍数都是 1,迁移步骤见换机房 |
snapshot/list、backup/list | 快照和自动备份的列表 | 2 个快照、5 个自动备份 |
getSuspensionDetails | 被暂停的次数和违规分数 | 0 次、0 分(上限 1300) |
getAuditLog | 操作记录:时间、来源 IP、做了什么 | 有记录(含 IP,不展示) |
getRateLimitStatus | 15 分钟和 24 小时内还剩多少调用点数 | 979、19958 |
把常用的查询写成脚本,每天跑一次。下面这个脚本查运行状态、流量和硬盘(服务器自带 Python 3 就能用):
#!/bin/bash
# 保存为 /root/bwh-status.sh,再执行 chmod 700 /root/bwh-status.sh(只有 root 能读)
VEID=你的VEID
KEY=你的API密钥
curl -s -X POST https://api.64clouds.com/v1/getLiveServiceInfo -d "veid=$VEID" -d "api_key=$KEY" | python3 -c '
import json, sys, datetime
d = json.load(sys.stdin)
if d.get("error"):
sys.exit("出错:%s %s" % (d["error"], d.get("message", "")))
bj = datetime.timezone(datetime.timedelta(hours=8))
reset = datetime.datetime.fromtimestamp(d["data_next_reset"], bj)
print("状态 %s,负载 %s" % (d["ve_status"], d["load_average"].split()[0]))
print("流量 %.2f / %d GB,下次重置 %s" % (d["data_counter"] / 2**30, d["plan_monthly_data"] / 2**30, reset.strftime("%d 日 %H:%M")))
print("硬盘已用 %.1f GB,可用内存 %d MB" % (d["ve_used_disk_space_b"] / 2**30, d["mem_available_kb"] // 1024))'
本站测试机的输出:
状态 running,负载 0.00
流量 5.04 / 1000 GB,下次重置 20 日 07:44
硬盘已用 1.8 GB,可用内存 873 MB
想每天自动跑,加一条定时任务:
crontab -e
# 加一行:每天 9 点(按服务器时区)查一次,结果追加到日志
0 9 * * * /root/bwh-status.sh >> /root/bwh-status.log 2>&1
只想查流量和重置时间,用流量教程第 6 步的命令更短。
4
会改动服务器的接口:先做快照再试
关机、重装、做快照这类接口和在面板上点按钮一样,一调用就会真的执行。本站在测试机上实测过这三个:
| 接口 | 做什么 | 本站测试机实测 |
stop | 关机 | 重装前先用它关机 |
reinstallOS | 重装系统,参数 os 填 getAvailableOS 返回的系统名 | 开机状态下调用会报 The server is currently running. Please stop it and try again.;先 stop 再调用,约 3 分钟开机、5 分钟能 SSH 登录,IP 不变;新 root 密码在接口返回和官方邮件里 |
snapshot/create | 做快照 | 约 20 秒完成,期间 VPS 会自动重启,1 分钟内恢复;快照保存 30 天 |
重装的写法(以 AlmaLinux 9 为例,VEID、KEY 同第 2 步):
curl -s -X POST https://api.64clouds.com/v1/stop -d "veid=$VEID" -d "api_key=$KEY"
curl -s -X POST https://api.64clouds.com/v1/reinstallOS -d "veid=$VEID" -d "api_key=$KEY" -d "os=almalinux-9-x86_64"
注意重装会清空整块硬盘,先做快照或把数据下载下来,步骤见快照与备份和重装系统。开机、重启、迁移等其他接口列在 KiwiVM API 页下方,名字和参数以那里为准。
5
保管好 API Key
- 用 POST 传密钥(本页的命令都是),不要拼进网址
- 写了密钥的脚本设成只有 root 能读:
chmod 700 脚本名
- 不要把带密钥的脚本传到 GitHub、网盘,也不要截图发到群里
- 定期看 KiwiVM 左侧的
Audit log(也可以用 getAuditLog 查),有不认识的来源 IP 就处理
- 怀疑泄露,马上点
Reset API Key,再换掉脚本里的密钥
KiwiVM 登录本身的安全设置(两步验证、审计日志)见 SSH 密钥与安全设置。