AWS EC2身份认证失败无法连接 密钥格式无效问题排查求助
EC2连接
invalid format报错解决方案 问题根源
你生成密钥对的命令存在错误,aws ec2 create-key-pair使用--output text参数直接重定向到文件时,会同时输出密钥ID、密钥指纹、私钥内容三个制表符分隔的字段,生成的mykeys.pem不是标准的SSH私钥格式,因此SSH连接时会抛出Load key "mykeys.pem": invalid format错误。
修复步骤
- 先清理已生成的错误资源:
- 删除AWS端的无效密钥对:
aws ec2 delete-key-pair --key-name mykeys --region eu-central-1 - 删除本地错误的
mykeys.pem文件
- 删除AWS端的无效密钥对:
- 重新生成正确的密钥对:
执行命令时新增--query 'KeyMaterial'参数,仅提取私钥内容输出到文件:aws ec2 create-key-pair --key-name mykeys --region eu-central-1 --query 'KeyMaterial' --output text > mykeys.pem - 修正私钥文件权限:
SSH要求私钥仅所有者可读,权限过高会被拦截:chmod 400 mykeys.pem - 验证私钥格式:
打开mykeys.pem确认内容格式如下,无多余字符:-----BEGIN RSA PRIVATE KEY----- [私钥内容] -----END RSA PRIVATE KEY-----
补充说明:若你已经使用该错误密钥创建了EC2实例且不想销毁重建,可以先停止实例,通过修改实例用户数据注入新的公钥,或在控制台更换实例绑定的有效密钥对。
EC2 Instance Connect无法连接排查项
如果控制台的EC2 Instance Connect仍无法连接,按顺序检查:
- 实例安全组入站规则放行22端口,且允许EC2 Instance Connect对应区域的IP段访问
- 实例已分配公网IP,所在子网绑定了互联网网关,公网路由正常
- 实例状态检查全部通过,无系统或实例故障
内容的提问来源于stack exchange,提问作者macosmi
相关产品推荐
相关产品推荐

