在 Microsoft Azure 上为 AgentAura 准备 Linux 虚拟机
Azure 上建一台 AgentAura 能部署的 Ubuntu 24.04 x64 虚拟机:注册、密钥对、SSH 规则、azureuser 登录与停机计费。

在 Microsoft Azure 上为 AgentAura 准备 Linux 虚拟机 ☁️
读完这篇,你会在自己的 Azure 订阅里拥有一台 Ubuntu 24.04 虚拟机、一把能登录它的私钥,以及 AgentAura「My Server(我的服务器)」选项要填的四项信息。在 Azure 上只有 My Server 这一条路:你在 Azure 门户里创建虚拟机,AgentAura 通过 SSH 登录上去。
你不需要 Azure 服务主体(service principal)、客户端密码(client secret),也不需要任何 Azure API 凭据。AgentAura 从不调用 Azure 的 API,只通过 SSH 登录虚拟机。照着某篇教程顺手建一个,只会多出一个对整个订阅都有权限、还得你自己保管好的凭据。
所有云厂商通用的部分(服务器要满足什么、AgentAura 接受哪些密钥)见总览给 AgentAura 准备服务器。Azure 门户时常改版,界面可能与本文略有出入;文中的按钮名以英文界面为准。
1. 注册 Azure 账号
在 azure.microsoft.com 注册。微软要求提供手机号、一张信用卡或借记卡(不能是预付卡),以及一个 Microsoft 账号或 GitHub 账号,手机和银行卡用来核实你的身份。卡上可能出现约 1 美元的临时预授权,之后会撤销。
截至撰写本文时(2026 年 9 月),你可以直接选按需付费(pay as you go),也可以先开免费账户:200 美元额度,须在 30 天内使用。新客户还有 12 个月的每月免费额度,其中包括 B1s、B2pts v2、B2ats v2 三种虚拟机规格各 750 小时。这几种都不适合 AgentAura:B2pts v2 是 Arm 架构,B1s 和 B2ats v2 只有 1 GiB 内存,太紧,不建议用。下文用的规格是收费的;在免费账户里,前 30 天由那笔额度抵扣。
30 天到期或额度用完后,免费账户必须转为按需付费,否则微软会停用账户及其服务,你的 agent 也会随之下线。
2. 决定 SSH 密钥从哪来
- 让 Azure 在创建虚拟机时生成密钥对。 这是门户的默认选项。私钥会以
.pem文件下载到你的电脑,AgentAura 可以原样使用这个文件。 - 或者用你自己的密钥,专门为这台服务器新建,不设密码短语:
# 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"Azure 只接受 RSA 和 ed25519 公钥,不接受 ECDSA。下面的步骤按 Azure 生成密钥来写;如果用自己的密钥,就选使用已有公钥的选项,把 agentaura.pub 的内容粘贴进去。
3. 创建虚拟机
- 在 Azure 门户(portal.azure.com)搜索 Virtual machines,选择 Create,再选 Virtual machine。
- 在 Basics 页确认订阅,资源组选 Create new,例如
agentaura-rg。单独放一个资源组,日后清理只需删一次。 - 给虚拟机起名,选一个离你近的区域。Availability options 选 No infrastructure redundancy required 即可。
- Image 选 Canonical 发布的 Ubuntu Server 24.04 LTS,而且要 x64 版本,不是 Arm64。
- Size 打开完整列表,选 Standard_B2als_v2:2 个 vCPU、4 GiB 内存,AMD EPYC 处理器,属于 x86-64。Azure 规格名里的小写
p表示 Arm 处理器,带p的一律跳过。老的 B2s 同样是 2 vCPU、4 GiB,但微软已把它列为 End of Life(生命周期末期)。能看到哪些规格,取决于所选区域。 - 在 Administrator account 里,Authentication type 选 SSH public key,Username 保留
azureuser(或自己起一个并记下来)。SSH public key source 保持 Generate new key pair,给密钥起个名字,例如agentaura-key。 - 在 Inbound port rules 里选 Allow selected ports,只选 SSH (22)。
- 点 Review + create,再点 Create。弹出密钥窗口时选 Download private key and create resource,把下载得到的
agentaura-key.pem保管好。 - 部署完成后点 Go to resource,在概览页复制公网 IP 地址。
4. SSH 端口保持开放,而且只开 SSH
Azure 的网络安全组(NSG)默认拦截来自公网的入站流量,只放行规则允许的部分。第 7 步生成的 SSH 规则正是 AgentAura 需要的,它的来源必须保持为「Any」,哪怕门户提示这样所有 IP 都能访问该端口。AgentAura 是从它自己的云端连到服务器,而不是从你的电脑:安装时如此,之后查看日志、重启、重新连接凭据、添加 agent、升级也都如此。把规则收窄成「My IP」,这些操作会全部失败。让开放的 SSH 端口保持安全的是密钥登录,而 Azure 在用 SSH 密钥创建的虚拟机上会关闭密码登录。
另外两样东西别动:
- 其他端口。 安装程序会建立出站的 Cloudflare Tunnel,Azure 默认也允许出站流量,不需要再开任何入站端口。
- Microsoft Defender for Cloud 的即时(just-in-time)虚拟机访问。 它让 22 端口一直关着,直到有人申请访问,而 AgentAura 没法发起这种申请。
微软已在 2025 年停用 Basic 公网 IP,所以新虚拟机拿到的是 Standard 公网 IP,而它总是静态的:停机再开机,地址不变,只有删除时才释放。公网 IPv4 地址本身也会收一笔小额费用。
5. 先自己登录一次
macOS 或 Linux:
chmod 400 ~/Downloads/agentaura-key.pem
ssh -i ~/Downloads/agentaura-key.pem azureuser@203.0.113.10Windows,在 PowerShell 里:
ssh -i "$HOME\Downloads\agentaura-key.pem" azureuser@203.0.113.10把 203.0.113.10 换成你的虚拟机地址。然后确认 sudo 不需要密码,这是安装程序的要求:
sudo -n true && echo "passwordless sudo OK"如果登录很慢,或者 apt 提示被锁,说明虚拟机还在做首次开机更新,等几分钟再部署。
6. 在 AgentAura 里填写
在 AgentAura 里用 My Server 添加服务器,填写:
| AgentAura 字段 | Azure 上填什么 |
|---|---|
| Server IP | 虚拟机的公网 IP 地址 |
| Login user | azureuser,或你自己设的用户名;不是 root |
| Password 或 SSH key | 选 SSH key,粘贴整个 .pem 文件的内容,包括 -----BEGIN 和 -----END 两行 |
| SSH port | 22 |
要复制私钥,先把它显示出来:macOS 或 Linux 上运行 cat ~/Downloads/agentaura-key.pem,PowerShell 里运行 Get-Content "$HOME\Downloads\agentaura-key.pem"。开始部署后盯着输出:每一步都会报告,失败时会说明是哪一步、为什么。接下来的步骤见快速上手。
7. 费用与清理
Azure 按虚拟机的电源状态计费:
| 状态 | 怎么进入这个状态 | 虚拟机是否计费 |
|---|---|---|
| Running(运行中) | 正常运行 | 是 |
| Stopped(已停止) | 在虚拟机内部关机 | 是 |
| Stopped (deallocated)(已停止并解除分配) | 在门户里点 Stop | 否,但磁盘和公网 IP 仍然计费 |
所以用 sudo poweroff 关掉的虚拟机照样按全价收费。要从门户停机,并确认状态里有 deallocated。也别开 Auto-shutdown(自动关机):虚拟机一停,agent 就下线。
用完之后,打开 agentaura-rg,选 Delete resource group,输入资源组名称并确认。虚拟机、磁盘、公网 IP 和相关网络组件会一起删除。在 AgentAura 里移除 agent,不会删除 Azure 里的任何东西。
常见问题
- 「Permission denied (publickey)」。 登录用户填错了(Azure 上不是
root),或者粘贴的是.pub文件而不是私钥。 - 连接超时。 SSH 规则的来源被收窄了、开了即时访问,或者虚拟机处于停止状态。
- 安装中途停下,提示 sudo 需要密码。 虚拟机是用密码认证创建的。改用 SSH public key 重新创建。
- 找不到这个规格。 换一个 x64、约 2 vCPU 和 4 GiB、名称里没有
p的规格,或者换个区域。 - 30 天后一切都停了。 免费账户没有转为按需付费。
微软官方参考: 在 Azure 门户中创建 Linux 虚拟机 · 虚拟机状态与计费 · Basv2 规格 · Azure 账户类型