...
Back

给 AgentAura 准备服务器:SSH、密钥与 API token

任何一台 Ubuntu x86 VPS 都能通过 SSH 部署 AgentAura。服务器要满足什么、怎样生成它能用的密钥、何时用得上 API token。

给 AgentAura 准备服务器:SSH、密钥与 API token

给 AgentAura 准备服务器:SSH、密钥与 API token 🔑

AgentAura 会把一个私有 AI agent 装到你自己的 Linux 服务器上。如果你从没租过服务器,难的其实不是 agent,而是在云控制台里的那半小时:开哪个账号、选哪个镜像、多大规格、用哪把密钥、以哪个用户登录、防火墙怎么设。

这篇讲的是所有云厂商都通用的部分:AgentAura 上服务器的两条路、服务器必须具备什么、怎样生成一把 AgentAura 能用的 SSH 密钥。文末有八家云厂商各自的分步指南。


🧭 两条路

方式在哪里能用你要提供给 AgentAura 的
My Server(我的服务器,走 SSH)所有 AgentAura 客户端:网页、iPhone 和 iPad、Mac、Android、Windows、Linux服务器 IP、登录用户、密码或 SSH 私钥
云厂商 API token部分原生 App:Hetzner(Apple 设备上的 App 和 Windows App)、Vultr(Windows App)你自己账号里的 API token,由 App 在你的账号里开服务器

My Server 适用于任何云厂商,因为它只需要 SSH。你先在云厂商的控制台里开好服务器,再把地址和登录凭据交给 AgentAura。本文后面默认讲的都是这条路。

API token 这条路省掉了在控制台里点来点去,但只适用于你的 App 列出的那几家。服务器仍然开在你自己的账号里,由云厂商直接向你收费。如果你的 App 里没有对应的选项,就用 My Server。至于 DigitalOcean、Linode、AWS、Google Cloud、Azure 和 Oracle,AgentAura 根本不用它们的 API key。照着某篇教程顺手建一个,只会多出一个你得自己保管好的凭据。


🖥️ 服务器要满足什么

要求原因
Ubuntu 24.04 LTS(22.04 也可以)安装程序用 apt。Amazon Linux、Oracle Linux、Rocky 这类其他发行版会失败。
x86_64(amd64)运行时是为 amd64 构建的。ARM 机型(Graviton、Ampere、Axion、Cobalt 等)用不了,哪怕它们往往更便宜、甚至免费。
约 2 核 CPU、4 GB 内存我们自己的 Hetzner 选项就从这个规格起步。你并不在跑大模型,所以不需要 GPU;但 1 GB 内存的「micro」机型太紧,不建议用。
root,或能免密码 sudo 的用户安装程序要写系统服务。云镜像默认的 ubuntu、azureuser 这类用户通常都能免密码 sudo。
公网 IPv4 地址,能访问外网AgentAura 通过 SSH 连到服务器,安装时要下载软件包。
不跑别的东西之所以要单独一台服务器,图的就是隔离。

规格方面的更多考虑,见跑私有 AI agent 需要什么样的服务器。


🔑 生成一把 AgentAura 能用的 SSH 密钥

给你密码的云厂商,用密码也行。但密钥更安全,而且在 AWS、Google Cloud、Azure、Oracle 上本来就是默认的登录方式。专门为这台服务器新建一把密钥:

# macOS 或 Linux
mkdir -p ~/.ssh
ssh-keygen -t ed25519 -f ~/.ssh/agentaura -N "" -C "agentaura"
# Windows 10 或 11,在 PowerShell 里执行。提示输入密码短语(passphrase)时,直接按两次回车。
New-Item -ItemType Directory -Force "$HOME\.ssh" | Out-Null
ssh-keygen -t ed25519 -f "$HOME\.ssh\agentaura" -C "agentaura"

这会生成两个文件:

  • agentaura.pub 是公钥,交给云厂商。
  • agentaura(没有扩展名)是私钥,粘贴到 AgentAura 里。

AgentAura 能不能用这把密钥,取决于四条规则:

  1. 粘贴私钥,而且要完整。 包括 -----BEGIN OPENSSH PRIVATE KEY----- 和 -----END OPENSSH PRIVATE KEY----- 这两行。.pub 文件不是登录凭据。
  2. 不要设密码短语。 AgentAura 没有填写密码短语的地方,带密码短语的密钥登录不上。所以上面的命令都把它留空,这也是为什么这把密钥只该用在这一台服务器上。
  3. OpenSSH 或 PEM 格式。 云厂商替你生成、让你下载的 .pem 文件(AWS、Azure、Oracle 都会这样做)可以原样粘贴。PuTTY 的 .ppk 文件不行:先在 PuTTYgen 里打开,用 Conversions → Export OpenSSH key 导出。
  4. ed25519、RSA、ECDSA 都可以。 ed25519 更短、更新,推荐用它。

显示私钥内容,方便复制:

cat ~/.ssh/agentaura                   # macOS / Linux
Get-Content "$HOME\.ssh\agentaura"     # Windows PowerShell

AgentAura 会保存这把密钥,以便日后管理这台服务器。这正是要用专用密钥的实际理由:哪天需要吊销,只需从一台服务器上删掉一把钥匙,你登录的其他机器都不受影响。


🔓 SSH 端口要一直开着,而且只开 SSH

首次部署失败,大多是下面两种防火墙设置造成的。

把 SSH 限制成「只允许我的 IP」。 不少控制台会这样建议。但 AgentAura 是从它自己的云端连到你的服务器,不是从你的电脑;而且不只是安装那一次:查看日志、重启、重新连接模型凭据、添加 agent、升级,都要走 SSH。只放行你家 IP 的规则会把这些全部挡掉。让 SSH 端口对公网开放,并使用密钥认证:开放的 SSH 端口之所以安全,靠的正是密钥认证。

「以防万一」多开几个端口。 除了 SSH,别的都不需要对外开放。安装程序会建立一条出站的 Cloudflare Tunnel,客户端通过它访问 agent。多开的入站端口只会增加暴露面,解决不了任何问题。


✍️ 在 AgentAura 里填什么

字段默认值填写
Server IP—服务器的公网 IPv4 地址,在云厂商控制台里能看到
Login userroot见下表
Password 或 SSH keyPassword密码,或完整的私钥文本
SSH port22只有你在服务器上改过端口才需要改

登录用户取决于云厂商的镜像:

云厂商Ubuntu 镜像的常用登录用户
Hetzner、DigitalOcean、Vultr、Linoderoot
AWSubuntu
Google Cloud你添加 SSH 密钥时对应的用户名
Azure你创建时设的管理员用户名(门户默认建议 azureuser)
Oracle Cloudubuntu

⏳ 点「部署」之前

先用你准备交给 AgentAura 的同一个用户和密钥,自己登录一次:

ssh -i ~/.ssh/agentaura root@203.0.113.10
# Windows PowerShell:ssh -i "$HOME\.ssh\agentaura" root@203.0.113.10

把地址换成你的服务器地址,用户按上表选。控制台显示「运行中」的服务器,可能还在启动,或者正在做首次开机的软件包升级,这会把 apt 锁住几分钟。等你自己能顺利登录、命令行响应也正常了,再到 AgentAura 里开始部署,并且盯着它的输出:每一步都会报告,失败时会说明是哪一步、为什么。接下来要选的模型凭据,见快速上手。


📚 各家云厂商的分步指南

  • Hetzner Cloud:SSH 方式,以及部分 App 用来替你开服务器的 API token
  • DigitalOcean:带上你的密钥创建 Droplet,以 root 登录
  • Vultr:SSH 方式,以及 Windows App 用到的 API key 和它的访问控制名单
  • Akamai Cloud(Linode):带上你的密钥创建 Linode,以 root 登录
  • AWS:EC2、密钥对,以及最容易设错的安全组规则
  • Google Cloud:Compute Engine 与元数据里的 SSH 密钥
  • Microsoft Azure:用自动生成的密钥对创建 Linux 虚拟机
  • Oracle Cloud:为什么永久免费的 ARM 实例用不了,以及该选什么

其他云厂商也是同样的做法:只要能给你一台带公网 IP、能 SSH 登录的 x86 Ubuntu 服务器,就用 My Server。


💰 两份账单,和最容易忘的一步

服务器由云厂商计费,从创建那一刻起,直到你删除它为止。模型用量由你交给 agent 的那家 AI 服务商计费。两者是分开的。

在 AgentAura 里删除 agent 不会删除服务器,部署失败也不会。用完之后,到云厂商的控制台里把服务器删掉。在大多数云厂商那里,关机状态的服务器仍然要花钱:至少要付磁盘的钱,有的甚至照原价收。