AWS孟买区域新实例SSH登录失败:Permission Denied问题求助
解决AWS孟买区域EC2实例SSH权限拒绝问题
嘿,我来帮你排查这个SSH登录被拒的问题——我之前在AWS孟买区部署实例时也碰到过几乎一模一样的情况,咱们一步步来定位解决:
1. 先检查密钥文件的权限(最常见原因!)
SSH对密钥文件的权限要求非常严格,如果权限太开放,会直接拒绝连接。你需要执行这个命令修改权限:
chmod 400 /path/to/your-key-pair.pem
同时要确认你用的确实是创建这台EC2实例时下载的那个密钥文件,别拿成了其他实例的密钥。
2. 确认SSH命令里的用户名是否正确
AWS不同系统镜像的默认用户名不一样,用错了肯定会被拒:
- Amazon Linux / Amazon Linux 2:
ec2-user - Ubuntu:
ubuntu - CentOS:
centos - RHEL:
ec2-user或root - Debian:
admin
正确的SSH命令格式应该是:
ssh -i /path/to/your-key-pair.pem 正确用户名@35.154.229.106
3. 检查EC2实例的安全组入站规则
确保你的安全组允许SSH(端口22)流量进入:
- 登录AWS控制台,找到这台EC2实例,查看它关联的安全组
- 进入安全组的“入站规则”页面,确认有一条规则:类型为
SSH,协议TCP,端口22,源地址设为你的本地IP(或者临时用0.0.0.0/0测试,测试完记得改回自己的IP,更安全)
4. 开启Verbose模式排查详细错误
如果上面几步都没解决,用-v参数开启详细日志,能帮你找到具体哪里出问题:
ssh -v -i /path/to/your-key-pair.pem 用户名@35.154.229.106
日志里会显示连接过程的每一步,比如是密钥验证失败,还是用户名不被识别,或者是安全组拦截了流量。
5. 其他可能的原因
- 确认EC2实例处于
running状态,系统状态显示ok(在AWS控制台实例详情页查看) - 如果是刚创建的实例,可能需要等几分钟让系统完全初始化,再尝试连接
- 检查实例关联的密钥对是否和你使用的一致:在控制台实例详情页的“密钥对名称”字段,确认和你本地密钥文件的名称匹配
内容的提问来源于stack exchange,提问作者Eleena jose
相关产品推荐
相关产品推荐

