无法通过SSH连接AWS EC2实例,遇Permission denied(publickey)问题求助
解决AWS EC2 SSH
Permission denied (publickey)的实用步骤 我完全懂这种突然连不上EC2的崩溃感——之前那次迁移数据的折腾肯定够头疼的,这次咱们尽量不用走那条路,一步步来排查:
先从本地端排查(最容易忽略的小问题)
- 检查密钥文件权限:Linux/macOS系统对SSH密钥的权限要求很严,必须是
600(只有自己能读写),不然SSH会直接拒绝。执行这个命令修正:
同时确认你用的pem文件是不是原来的那个,有没有误删、替换或者重命名错了。chmod 600 DRUID_PROD_NEW.pem - 核对SSH命令的细节:
- 用户名:不同EC2镜像的默认用户名不一样,Amazon Linux是
ec2-user,Ubuntu是ubuntu,CentOS是centos——先确认你的实例是不是Amazon Linux系的,别用错用户名。 - 主机地址:检查
eX.X.X.x.compute-1.amazonaws.com是不是实例当前的公网域名/IP,如果实例是动态公网IP,重启后可能会变,去AWS控制台确认下最新的地址。
- 用户名:不同EC2镜像的默认用户名不一样,Amazon Linux是
- 清空SSH缓存的旧主机信息:有时候SSH会缓存旧的主机密钥,导致连接异常。可以临时跳过检查试试:
或者手动删除ssh -i "DRUID_PROD_NEW.pem" -o StrictHostKeyChecking=no ec2-user@eX.X.X.x.compute-1.amazonaws.com~/.ssh/known_hosts里对应这个EC2主机的条目。
服务器端排查(用AWS控制台的实例连接先登进去)
如果本地没问题,先试试AWS控制台自带的EC2实例连接(浏览器直接登录,不用密钥),如果能登进去,就可以检查服务器端的配置:
- 检查SSH服务配置:
打开/etc/ssh/sshd_config文件,确认以下配置:
如果配置不对,修改后重启SSH服务:PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2sudo systemctl restart sshd - 核对authorized_keys文件:
先在本地生成pem对应的公钥:
然后在服务器上查看cat DRUID_PROD_NEW.pem | ssh-keygen -y/home/ec2-user/.ssh/authorized_keys,确认里面的公钥和本地生成的完全一致。同时检查这个文件的权限必须是600,.ssh目录权限是700:sudo chmod 700 /home/ec2-user/.ssh sudo chmod 600 /home/ec2-user/.ssh/authorized_keys - 检查安全组和防火墙:
- 去AWS控制台确认EC2实例的安全组有没有允许22端口的入站流量(来源是你的IP或者0.0.0.0/0,根据你的需求)。
- 服务器本地防火墙:执行
sudo iptables -L看看有没有禁止22端口的规则,或者用sudo systemctl status firewalld检查防火墙状态。
- 检查实例状态:在AWS控制台看实例的状态检查,有没有失败的情况。如果是硬件故障导致的,尝试停止再启动实例(注意:如果是动态公网IP,停止会释放,最好先分配弹性IP再操作)。
终极方案:挂载EBS卷修复(不用迁移全量数据)
如果以上都不行,大概率是服务器的authorized_keys被意外修改了,这时候可以通过挂载EBS卷的方式修复:
- 停止出现问题的EC2实例。
- 在AWS控制台分离该实例的根EBS卷(注意记录卷的ID和原挂载点)。
- 启动一个临时的同区域、同系统的EC2实例(比如Amazon Linux 2)。
- 将分离的EBS卷挂载到临时实例上(控制台操作,挂载点选
/dev/sdf之类的)。 - 在临时实例上挂载卷:
sudo mkdir /mnt/recovery sudo mount /dev/xvdf1 /mnt/recovery # 这里的设备名可能是xvdf或者xvdf1,根据实际情况调整 - 编辑
/mnt/recovery/home/ec2-user/.ssh/authorized_keys,添加本地pem对应的公钥(就是之前用ssh-keygen -y生成的那个)。 - 卸载卷并分离:
然后在控制台把卷挂载回原来的EC2实例,启动实例,再尝试SSH连接。sudo umount /mnt/recovery
内容的提问来源于stack exchange,提问作者Kim Gabrielsen
相关产品推荐
相关产品推荐

