Ubuntu的EC2实例,改变了根主目录,现在无法在SSH中

我有一个Amazon EC2实例runnung Ubuntu 11.10。 为了快速修复问题,我将/ etc / passwd中的ubuntu用户的home diretory更改为/ srv / www。 现在我不能ssh到框(我假设),因为它找不到.ssh / authorized_keys

我有FTP访问权限,我可以访问.ssh / authorized_keys文件,但是/ srv / www目录由root拥有,所以我不能上传.ssh文件夹。

有任何想法吗?

一个典型的方法是停止您的实例(称为A),并创build另一个实例,在其中安装A的磁盘并修复问题(在您的案例中更改/ etc / passwd)。

假设您拥有EBS根卷,最简单的解决scheme可能是:

  • 停止(不要终止)实例
  • 分离EBS卷
  • 启动另一个实例
  • 将当前EBS卷附加到新实例
  • SSH到新实例中,挂载EBS卷并进行所需的更改
  • 从新实例中分离EBS卷,并将其作为旧实例的根卷附加
  • 启动旧的实例
  • 如果一切正常,终止新的实例