Amazon Linux 2实例EC2 Instance Connect控制台连接失败求助
解决Amazon Linux 2 EC2实例无法通过EC2 Instance Connect控制台连接的问题
以下是针对该问题的排查和解决步骤:
安全组与网络验证
- 确认实例安全组的入站规则允许TCP 22端口访问:可临时添加一条来源为
0.0.0.0/0的规则测试,排除安全组拦截可能。测试有效后,再将来源范围缩小至对应AWS区域的EC2 Instance Connect服务IP段。 - 确保实例具备公网访问能力:实例需分配公网IP/弹性IP,或所在私有子网配置了NAT网关——EC2 Instance Connect需要实例与AWS控制平面通信以推送临时SSH密钥。
- 确认实例安全组的入站规则允许TCP 22端口访问:可临时添加一条来源为
EC2 Instance Connect内部配置检查
- 打开
/etc/ssh/sshd_config文件,确认以下配置项未被注释且值正确:PubkeyAuthentication yes AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect - 执行
sudo systemctl status sshd确认sshd服务处于运行状态,无启动报错。 - 查看日志定位问题:执行
sudo tail -n 20 /var/log/messages | grep ec2-instance-connect,检查连接尝试时是否存在密钥推送失败、权限异常等日志信息。
- 打开
IAM权限验证
- 确保用于控制台连接的IAM用户/角色拥有
ec2-instance-connect:SendSSHPublicKey权限,且资源范围包含目标实例的ARN(格式为arn:aws:ec2:区域:账号ID:instance/实例ID)。 - 同时需具备
ec2:DescribeInstances权限,否则控制台无法获取实例信息完成连接流程。
- 确保用于控制台连接的IAM用户/角色拥有
实例元数据服务(IMDS)检查
- EC2 Instance Connect依赖IMDS获取实例标识信息,执行
curl http://169.254.169.254/latest/meta-data/instance-id,若能正常返回实例ID则说明IMDS配置正常;若无法访问,需检查实例的IMDS是否被禁用。
- EC2 Instance Connect依赖IMDS获取实例标识信息,执行
临时修复操作
- 尝试重启EC2 Instance Connect服务:
sudo systemctl restart ec2-instance-connect,部分场景下服务异常会导致临时密钥推送失败。
- 尝试重启EC2 Instance Connect服务:
内容的提问来源于stack exchange,提问作者Tom Baxter
相关产品推荐
相关产品推荐

