注意:导致这个问题的原因有很多,比如你的 .pem 文件权限不正确,用户名写错,例如用了 ec2-user 或 ubuntu,命令里有拼写错误,等等。
就我的情况而言,如果我没判断错,问题是因为在错误的目录中运行了 sudo chmod -R ./,也就是在我的 home 文件夹里运行了它。
解决方法是把 home 文件夹的权限设置回来。
- 停止出问题的实例。
- 创建一个新实例,然后停止这个新的、没有问题的实例。
- 确保新创建的实例位于同一个可用区,例如
us-west-2c。这可以在 Network 步骤中的 Subnet 菜单里设置。 - 从出问题的实例上分离 EBS 卷,并将它挂载到新的、没有问题的实例上。
- 输入你的实例 ID 和挂载点,挂载点看起来像
/dev/sda2。 - 启动新实例,并挂载刚刚附加的第二块磁盘。
[ubuntu ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvdf 202:80 0 100G 0 disk
xvda1 202:1 0 8G 0 disk /
[ubuntu ~]$ sudo mount /dev/xvdf /mnt
- 切换到挂载路径,并将你的 home 目录权限恢复为
755。
[ubuntu ~]$ cd /mnt/home/
[ubuntu ~]$ chmod 755 yourusername
- 停止新实例,并分离属于出问题实例的那个卷。
- 将刚刚分离的卷重新附加到原先出问题的实例上。
