Journey.

AWS | 无法登入 Instance 解决办法

适用类型:

已有 Instance A
[Permission denied (publickey)]

解决办法:

  1. 新建Instance B,基本设置与A相同。
  2. 如果丢失 pem 文件,新建 key-pair 并下载pem文件
  3. stop Instance A; 进入 volumn tab –> detach
  4. volumn attach 到 B
  5. 登入Instance B;在 root directory 下新建 mount point (ex: /vol-a) 并mount
[instance b]
1
2
sudo mkdir /vol-a
sudo mount /dev/xvdj /vol-a

Note:volumn可能保存在 xvdj、xvdj1、xvda、sxda1、或 sdf

  1. 进入 vol-a 作出所需修改
    *丢失pem文件:将正确的ssh key添加到:/vol-a/home/ubuntu/.ssh/authorized_keys

    • 更改home dir (或者 ec2-user)的权限至700
    • etc.
  2. unmount

umountlink
1
sudo rmdir /vol-a
  1. deatch volumn from Instance B; Attach back to Instance A.
    Start Instance A;
    Terminate Instance B.

参考:
https://alestic.com/2011/02/ec2-fix-ebs-root/
http://d2930476l2fsmh.cloudfront.net/LostKeypairRecoveryOfLinuxInstance.mp4
https://forums.aws.amazon.com/message.jspa?messageID=334402