已配置SSH入站规则,仍无法通过EC2 Instance Connect连接EC2实例求助
解决EC2 Instance Connect连接失败问题
检查EC2 Instance Connect服务状态
- Ubuntu系统执行:
若服务未运行,启动并设置开机自启:sudo systemctl status ec2-instance-connectsudo systemctl start ec2-instance-connect sudo systemctl enable ec2-instance-connect - Amazon Linux系统执行相同命令,服务名称一致。
- Ubuntu系统执行:
验证实例网络基础配置
- 确认实例分配了公网IP,若实例在私有子网,需确保VPC配置了NAT网关且路由表指向NAT网关。
- 在本地终端执行
ping <实例公网IP>,确认网络链路可达。
检查SSHD配置有效性
- 编辑SSHD配置文件:
确保以下配置项正确:sudo nano /etc/ssh/sshd_configPasswordAuthentication no PubkeyAuthentication yes ChallengeResponseAuthentication no - 重启SSHD服务生效:
sudo systemctl restart sshd
- 编辑SSHD配置文件:
清理临时密钥残留
- Ubuntu系统清空授权密钥文件:
echo "" > /home/ubuntu/.ssh/authorized_keys - Amazon Linux系统执行:
EC2 Instance Connect会在连接时临时注入密钥,旧残留可能导致验证失败。echo "" > /home/ec2-user/.ssh/authorized_keys
- Ubuntu系统清空授权密钥文件:
检查实例元数据服务(IMDS)可用性
- 在实例内部执行:
若无法返回实例ID,需检查VPC的DHCP选项集是否禁用了IMDS,或实例的IMDS访问设置是否被修改(可通过EC2控制台实例详情的「元数据」选项卡调整)。curl http://169.254.169.254/latest/meta-data/instance-id
- 在实例内部执行:
验证IAM权限(若使用IAM认证连接)
- 确保用于连接的IAM实体(用户/角色)拥有
ec2-instance-connect:SendSSHPublicKey权限,且资源范围包含目标实例的ARN(格式:arn:aws:ec2:<区域>:<账号ID>:instance/<实例ID>)。
- 确保用于连接的IAM实体(用户/角色)拥有
内容的提问来源于stack exchange,提问作者Shon22
相关产品推荐
相关产品推荐

