Skip to content

Kiro CLI 支持 GitHub、Google、AWS Builder ID、AWS IAM Identity Center 和外部身份提供商登录。本地终端可用浏览器登录,远程机器推荐 device flow;CI/CD 和自动化脚本则应使用 KIRO_API_KEY 的 headless 模式。

Kiro CLI 身份认证:浏览器登录、远程机器和 API Key

Kiro CLI 要访问你的 Kiro 账号和订阅 credits,首先需要完成身份认证。它支持个人开发者常用的 GitHub、Google、AWS Builder ID,也支持企业场景的 AWS IAM Identity Center 和外部身份提供商,例如 Microsoft Entra ID、Okta。

认证方式取决于你在哪里运行 Kiro CLI:本地终端、远程 SSH 机器、容器,还是 CI/CD。

本地登录 Kiro CLI

在命令行输入:

bash
kiro-cli

或:

bash
kiro-cli login

Kiro CLI 会提示你按 Enter,并在浏览器中完成登录。浏览器中选择认证方式,例如 Google、GitHub、Builder ID 或组织身份系统。认证成功后,浏览器会提示你回到终端,CLI 应该已经完成登录。

远程机器登录:推荐 device flow

如果你通过 SSH、SSM、容器等方式在远程机器上运行 Kiro CLI,远程环境通常无法直接打开浏览器。此时推荐使用 device flow。

device flow 支持 Builder ID、IAM Identity Center、Google 和 GitHub。流程是:

  1. 在远程机器运行 kiro-cli login
  2. 选择 Use for Free with Google or GitHub 等登录方式。
  3. CLI 显示一个 URL 和一次性 code。
  4. 在任意浏览器中打开 URL,可以是本地电脑、手机或其他设备。
  5. 输入 code 并完成认证。
  6. CLI 自动检测登录成功。

这个方式不需要端口转发,最适合远程开发环境。

PKCE + 端口转发 fallback

如果 device flow 不可用,CLI 会回退到 PKCE。PKCE 是浏览器 OAuth 流程,callback 会回到 localhost,远程机器无法直接收到,因此需要端口转发。

流程:

  1. 在远程机器运行 kiro-cli login
  2. 记录 CLI 显示的端口,例如 49153
  3. 在本地新终端建立 SSH 端口转发:
bash
ssh -L 49153:localhost:49153 -N user@remote-host
  1. 回到 CLI 按 Enter,并在本地浏览器打开 URL。
  2. 完成认证,callback 会通过 tunnel 回到远程 CLI。

常见变体:

bash
ssh -i ~/.ssh/my-key.pem -L 49153:localhost:49153 -N user@remote-host
ssh -L 49153:localhost:49153 -N myserver

排查重点:端口是否一致、端口是否被占用、SSH tunnel 是否保持连接。

API Key:headless 模式

CI/CD、自动化脚本和非交互场景应使用 API key,而不是浏览器登录。

生成 API key:

  1. 使用 Kiro Pro、Pro+ 或 Power 账号登录 app.kiro.dev
  2. 进入 API Keys 区域。
  3. 创建新 key 并复制完整值。完整 key 只会在创建时显示。
  4. 给 key 设置有意义的名称,方便之后识别用途。

在 Linux / macOS 中使用:

bash
export KIRO_API_KEY=ksk_xxxxxxxx
kiro-cli chat --no-interactive "your prompt here"

在 Windows PowerShell 中:

powershell
$env:KIRO_API_KEY = "ksk_xxxxxxxx"
kiro-cli chat --no-interactive "your prompt here"

API key 认证支持 Kiro CLI 非交互模式中的功能。交互式 session 仍建议使用浏览器登录。

认证优先级

当多个凭据同时存在时,Kiro CLI 使用以下优先级:

  1. kiro-cli login 产生的 active browser session。
  2. KIRO_API_KEY 环境变量。
  3. 没有凭据时,提示登录。

你可以运行:

bash
kiro-cli whoami

查看当前使用的认证方式。

注意:使用 API key 消耗的 credits 会从你的 Kiro subscription credits 中扣除。

登出

退出 Kiro CLI 登录状态:

bash
kiro-cli logout

常见问题

Q: 远程服务器上 Kiro CLI 怎么登录?

A: 推荐 device flow。CLI 会显示 URL 和一次性 code,你在任意浏览器中输入 code 即可,不需要端口转发。

Q: CI/CD 可以用浏览器登录吗?

A: 不适合。CI/CD 应使用 KIRO_API_KEY--no-interactive 运行。

Q: KIRO_API_KEY 和浏览器登录哪个优先?

A: 官方优先级是 active browser session 高于 KIRO_API_KEY。可以用 kiro-cli whoami 检查当前身份。