# 调用 SendSerialConsoleSSHPublicKey 操作时发生错误 (SerialConsoleAccessNotEnabled)：账户未启用串行控制台访问，或实例类型不支持此功能

- **ID:** `aws/ec2-instance-connect-ip-not-authorized`
- **领域:** aws
- **类别:** auth_error
- **错误码:** `SerialConsoleAccessNotEnabled`
- **验证级别:** ai_generated
- **修复率:** 85%

## 根因

EC2 串行控制台访问未在账户级别启用，或者实例类型不支持串行控制台连接（例如裸金属或较旧的实例）。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| EC2 API 2016-11-15 | active | — | — |
| AWS CLI 2.14.0 | active | — | — |

## 解决方案

1. ```
   在 AWS 区域中为账户启用 EC2 串行控制台：'aws ec2 enable-serial-console-access --region us-east-1'（需要 ec2:EnableSerialConsoleAccess 权限）。然后重试连接。
   ```
2. ```
   如果实例类型不受支持，启动一个支持串行控制台的新 EC2 实例（例如 t3、m5、c5 系列）。查看 AWS 文档获取完整列表。
   ```

## 无效尝试

- **** — Enabling serial console access via IAM policies alone doesn't work; the account-level feature must be explicitly enabled using the EC2 console or CLI. (85% 失败率)
- **** — Trying to use serial console on unsupported instance types (e.g., t2.micro, m5.metal) will always fail, even with account-level enablement. (95% 失败率)
