Appearance
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 loginKiro CLI 会提示你按 Enter,并在浏览器中完成登录。浏览器中选择认证方式,例如 Google、GitHub、Builder ID 或组织身份系统。认证成功后,浏览器会提示你回到终端,CLI 应该已经完成登录。
远程机器登录:推荐 device flow
如果你通过 SSH、SSM、容器等方式在远程机器上运行 Kiro CLI,远程环境通常无法直接打开浏览器。此时推荐使用 device flow。
device flow 支持 Builder ID、IAM Identity Center、Google 和 GitHub。流程是:
- 在远程机器运行
kiro-cli login。 - 选择
Use for Free with Google or GitHub等登录方式。 - CLI 显示一个 URL 和一次性 code。
- 在任意浏览器中打开 URL,可以是本地电脑、手机或其他设备。
- 输入 code 并完成认证。
- CLI 自动检测登录成功。
这个方式不需要端口转发,最适合远程开发环境。
PKCE + 端口转发 fallback
如果 device flow 不可用,CLI 会回退到 PKCE。PKCE 是浏览器 OAuth 流程,callback 会回到 localhost,远程机器无法直接收到,因此需要端口转发。
流程:
- 在远程机器运行
kiro-cli login。 - 记录 CLI 显示的端口,例如
49153。 - 在本地新终端建立 SSH 端口转发:
bash
ssh -L 49153:localhost:49153 -N user@remote-host- 回到 CLI 按 Enter,并在本地浏览器打开 URL。
- 完成认证,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:
- 使用 Kiro Pro、Pro+ 或 Power 账号登录 app.kiro.dev。
- 进入 API Keys 区域。
- 创建新 key 并复制完整值。完整 key 只会在创建时显示。
- 给 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 使用以下优先级:
kiro-cli login产生的 active browser session。KIRO_API_KEY环境变量。- 没有凭据时,提示登录。
你可以运行:
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 检查当前身份。