亚马逊AWS EC2已删除密钥已锁定根目录

时间:2015-10-16 00:28:27

标签: ubuntu ssh amazon-ec2 authorized-keys

我在Amazon AWS EC2上运行Ubuntu实例。我有一个名为ubuntu的root用户。我还有另一个名为ellis的用户。我的ubuntu用户是管理用户,可以控制所有其他用户并在根目录中创建文件和目录。

当我将/home/ubuntu/.ssh/authorized_keys中的.ssh / authorized_keys复制到/home/ellis/.ssh时,我必须不小心删除了ubuntu中的目录.ssh。现在,我无法以ubuntu身份登录我的实例,只能以ellis身份登录。我尝试在ellis中更改权限,以便在没有运气的情况下访问ubuntu。

我使用FileZilla作为ellis并且能够看到ubuntu中的目录和文件,这就是我知道.ssh已从ubuntu中删除的原因。

我需要能够访问ubuntu。我已经尝试将我的ssh目录从ellis复制到ubuntu,但是使用设置的权限,其他用户无法进行任何管理。有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:7)

您仍然可以通过将其附加到另一个实例来访问该磁盘。这样,您就可以复制新的密钥文件。

试试这个:

  • 停止您的实例(让我们称之为实例A
  • 启动另一个Linux实例或使用您已有的实例(让我们称之为实例B
  • 从实例A中分离您的根EBS卷(让我们称之为卷A ) - 记下装载设备,例如/dev/sda1
  • 通过控制台将卷A附加到实例B作为/ dev / sdf。 虽然提供的设备名称是/ dev / sdf,但aws可能会将其附加为/ dev / xvdf或/ dev / xvdf1。 如果您没有看到/ dev / sdf或/ dev / xvdf或/ dev / xvdf1

  • ,则可能必须重新启动实例B.
  • 尝试挂载卷/ dev / xvdf或/ dev / xvdf1,访问内容,导航到ubuntu用户的主目录,存储正确的ssh-key

  • 从实例B分离卷A
  • 将卷A附加到实例A(与上面相同的挂载设备上)
  • 启动实例A并尝试登录